指定对齐方式的伪指令:#pragma pack(push, xx) #pragma pack(pop)
结构体的对齐规则如下:
1、每个成员按其类型的对齐参数(通常是这个类型的大小)和指定对齐参数中较小的一个对齐;
2、结构体的对齐参数是其所有对齐参数中最大的那个;
3、结构体的长度必须为其最大对齐参数的整数倍;
4、结构体A包含在结构体B中时,其长度是不变的;
如下结构体,在4字节对齐时,sizeof(S1) == 16; sizeof(S2) == 32;在8字节对齐时,sizeof(S1) == 24; sizeof(S2) == 48;