首页 > 代码库 > [UNP]判断大端小端
[UNP]判断大端小端
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 else19 printf("unknown\n");20 } else21 printf("sizeof(short) = %d\n", sizeof(short));22 23 exit(0);24 }
union是一个很少见的关键字。
在union中可以定义多个成员,union的大小由最大的成员决定。
union中多个成员共享一块内存,对某一成员的赋值会改变其他成员。
[UNP]判断大端小端
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。