【C++】 union详解

来源:互联网 发布:js json转换对象 编辑:程序博客网 时间:2024/05/21 14:51
实例1
#include <stdio.h>#include <stdlib.h>int main(){union dt{short s;char c[sizeof(short)];double d;}data;data.s = 0x0102;if (sizeof(short)==2){if (data.c[0]==1 && data.c[1]==2)printf("big-endian\n");    // 只记住低位就好else if (data.c[0]==2 && data.c[1]==1)printf("little-endian\n");  // 低位放地位,高位放高位else printf("unknow\n");}elseprintf("sizeof(short) = %d\n", sizeof(short));printf("%f\n",data.c);}// 实例2#include "stdio.h"int main(){ union{int i[2];long k;char c[4];}t,*s=&t;s->i[0] = 0x39; s->i[1] = 0x38;printf("%1x\n",s->k); printf("%c\n",s->c[0]); return 0;}

原创粉丝点击