#include <stdio.h>
int main (void)
{
union
{
short i;
char a[2];
}u;
u.a[0] = 0x11;
u.a[1] = 0x22;
printf ("0x%x\n", u.i); //0x2211 为小端 0x1122 为大端
return 0;
}
#include <stdio.h>
int main (void)
{
short i = 0x1122;
char *a = (char*)(&i);
printf ("0x%x\n", *(a + 0)); //大端为 0x11 小端为 0x22
printf ("0x%x\n", *(a + 1));
return 0;
}
输出结果:
0x22
0x11
union 共用体名{
数据类型 成员名;数据类型 成员名;
...
} 变量名;
1.在union中,所有的共用体成员共用一个空间,并且同一时间只能储存其中一个成员变量的值。
2.当一个共用体被声明时, 编译程序自动地产生一个变量, 其长度为联合中最大的变量长度的整数倍。