#include <stdio.h>
void byteorder()
{
union
{
short value;
char union_bytes[sizeof(short)];
}test;
test.value = 0x0102;
if((test.union_bytes[0] == 1) && (test.union_bytes[1] == 2))
{
printf("大端\n");
}else if((test.union_bytes[0] == 2) && (test.union_bytes[1] == 1))
{
printf("小端\n");
}else
{
printf("UNKNOWN\n");
}
}
知识来源:《Linux高性能服务器编程》