联合体union

各个成员共享同一个地址空间,联合实例占用的大小跟联合中成员占用最大的成员大小有关。 联合体也叫共用体。

求当前计算机是大端还是小端字节序

int getEndNess()
{
     union Body
     {
          int num;
          char a[4];
     }test;
     test.num = 0x12345678;
     return test.a[0] == 0x12 ? 1: -1;
}

先给num赋值,再用a数组读取每个字节。 数据低字节存储在高地址,高字节存储在低地址。这是端对齐。 数据低字节存储在低地址,高字节存储在高地址。这是端对齐。