union {
char st[6];
int i;
} u;
printf("%zu\n", sizeof(u)); // 輸出 8
char st[6]:大小 6,對齊 1。int i:大小 4(32位系統),對齊 4。
printf("alignof(int)=%zu\n", _Alignof(int)); // 4
printf("alignof(char[6])=%zu\n", _Alignof(char[6])); // 1
int 為 8 字節(64 位長整型),聯合體大小為 8(已對齊)。double(8 字節,對齊 8),聯合體大小至少 8。