结构体的对齐规则
自动对齐规则
1、确定分配单位(一行分配多少个字节)
结构体中最大的基本类型长度决定
2、确定成员的偏移量
成员的偏移量 = 成员自身类型的整数倍
3、收尾
结构体的总大小 = 分配单位的整数倍
结构体嵌套结构体自动对齐规则
1、确定确定分配单位(一行分配多少个字节)
所有结构体中最大的基本类型长度决定
2、确定成员的偏移量
普通成员偏移量 = 成员自身类型的整数倍
被嵌套的结构体整体偏移量 = 该结构体中最大的基本类型的整数倍
3、收尾
结构体成员大小 = 该结构体中最大的基本类型的整数倍
结构体的总大小 = 分配单位的整数倍
强制对齐
#pragma pack(value) 时指定对齐值value。注意value的值为1、2、4、8、16
1、确定分配单位(一行分配多少个字节)
分配单位 = min(结构体中最大的基本类型, value)
2、确定成员的偏移量
成员的偏移量 = 成员自身类型的整数倍
3、收尾
结构体的总大小 = 分配单位的整数倍
标签:整数倍,偏移量,分配,体中,成员,结构 From: https://www.cnblogs.com/yachifeng/p/17221467.html