联合体union
各个成员共享同一个地址空间,联合实例占用的大小跟联合中成员占用最大的成员大小有关。 联合体也叫共用体。
求当前计算机是大端还是小端字节序
int getEndNess()
{
union Body
{
int num;
char a[4];
}test;
test.num = 0x12345678;
return test.a[0] == 0x12 ? 1: -1;
}
先给num赋值,再用a数组读取每个字节。 数据低字节存储在高地址,高字节存储在低地址。这是大端对齐。 数据低字节存储在低地址,高字节存储在高地址。这是小端对齐。