标签:
1 #include "unp.h" 2 3 int 4 main(int argc, char **argv) 5 { 6 union { 7 short s; 8 char c[sizeof(short)]; 9 } un; 10 11 un.s = 0x0102; 12 printf("%s: ", CPU_VENDOR_OS); 13 if (sizeof(short) == 2) { 14 if (un.c[0] == 1 && un.c[1] == 2) 15 printf("big-endian\n"); 16 else if (un.c[0] == 2 && un.c[1] == 1) 17 printf("little-endian\n"); 18 else 19 printf("unknown\n"); 20 } else 21 printf("sizeof(short) = %d\n", sizeof(short)); 22 23 exit(0); 24 }
union是一个很少见的关键字。
在union中可以定义多个成员,union的大小由最大的成员决定。
union中多个成员共享一块内存,对某一成员的赋值会改变其他成员。
标签:
原文地址:http://www.cnblogs.com/zoejiaen/p/4263938.html