- 语法
union 联合体类型名 {
成员
};
用法与struct
一样。不同点是所有成员公用相同的内存空间。联合体的sizeof
是成员中大小最大的值。
联合体是成员共用内存空间。
例如:
union Test{
int n;
double b;
};
printf("%ld\n",sizeof(union Test));
- 示例
按从低到高的顺序打印出int
类型每个字节的对应的数值(十六进制)。
union IntByte{
int n;
char c[sizeof(int)];
};
union IntByte b;
b.n = 1234;
int i;
printf("%08X\n",b.n);
for(i=0;i<sizeof(int);++i){
printf("%02hhX",b.c[i]);
}
printf("\n");