可以使用共用体来检测当前系统的大小端,其借助了共用体的存放顺序的特点:即所有成员都从低地址开始申请空间。
#include <stdio.h>
union
{
unsigned int a;
unsigned char c;
}number;
int main()
{
number.a = 0x12345678;
printf("%x\n",number.c);
return 0;
}
先对共用体中的int型数据i赋初值,然后在用char去访问一个字节的数据,如果打印出结果为78(小端模式),反之为大端模式。