*大端小端由机器CPU决定。**

大端

低位高地址,高位低地址。

小端

低位低地址,高位高地址。

用联合体判断大端小端

#include<stdio.h>
union un
{
    int a;
    char b;

}u;
void main()
{
    u.a = 1;//既赋值给
    printf("%d\n", u.b);
    //a  0000 0000 0000 0000 0000 0000 0000 0001
    //b                                0000 0001
    //b取的是低地址的8位,存在1则说明a的存储是低位存储在低地址,则为小端。
}

用简单函数判断大端小端;

#include<stdio.h>
int fun()
{
    int a = 1;
    char *p = (char*)&a;//取四个字节的低地址的一个字节;
    return *p;          //a的1值存放在低地址还是高地址;
}
void main()
{
    char c=fun();
    if (c = 1)         //char取低地址的一个字节
        printf("小端\n");
    else
        printf("大端\n");
}