C语言中union只分配最大域空间,利用该特性可判断系统大小端。
union check{
int i;
char j;
};
check.i=1;
check.j=?
为1系统为小端模式,为0系统为大端模式
另一种判断系统大小端的方式,利用指针,不同类型的指针意味着在内存中读大小不同的数据
int i = 1;
char * j;
j=(char* )&i;
printf("%d\n",*j);
为1系统为小端模式,为0系统为大端模式