1 union 2 { 3 short s; 4 char c[sizeof(short)]; 5 }test; 6 7 int main() 8 { 9 //method 1 10 int a = 0x12345678; 11 if(*((char *)&a) == 0x12) 12 printf("big-endian "); 13 else 14 printf("little-endian "); 15 16 //method 2 17 test.s = 0x0102; 18 if(sizeof(short) == 2) 19 { 20 if(test.c[0] == 1 && test.c[1] == 2) 21 printf("big-endian "); 22 else 23 printf("little-endian "); 24 } 25 return 0; 26 }