- 编译器有一个默认的
对齐参数
,也叫对齐模数
- 可以通过pack(n)指定,n合法值1,2,4,8,16
-
基本类型
的有效对齐参数:本身对齐参数和指定对齐参数中较小的参数,即min(sizeof(基本类型), 指定对齐参数)
-
非基本类型
的有效对齐参数:成员中有效对齐参数最大的值,即max(成员有效对齐参数)
- (成员起始地址相对结构的起始地址偏移) % (成员有效对齐) == 0
- (结构的总大小) % (结构的有效对齐) == 0
REF
https://blog.csdn.net/chengonghao/article/details/51674166
https://blog.csdn.net/lgouc/article/details/8235471