C语言判断大端小端存储
普通方法
int main()
{
int i = 1;
if (1 == *(char*)&i)
{
printf("small endian\n");
}
else
{
printf("big endian\n");
}
return 0;
}
利用联合体
int check_sys()
{
union Un
{
char c;
int i;
}u;
u.i = 1;
return u.c;
}
int main()
{
if (check_sys())
{
printf("small endian");
}
else
{
printf("big endian");
}
return 0;
}