项目右键 --> Settings --> C/C++ --> Code Grneration ,默认值为8
对齐原则:
原则1: 数据成员的对齐规则
结构的数据成员,第一个数据成员放在offset为0的地方,以后每个数据成员存储的起始位置要从该成员大小的整数倍开始。
( 比如int在32位机器上为4字节,则要从4的整数倍地址开始存储)。
原则2:结构体的总大小
结构体的总大小,也就是sizeof的结果,必须是其内部最大成员的整数倍,不足的要补齐。
原则3:如果一个结构体中有某些成员是结构体
如果一个结构中某些成员是结构体,则这些结构体成员要从其内部最大成员大小的地址开始存储。
(比如:struct s1中有成员是struct s2,s2里有char、short、double等成员,则s2应该从8的整数倍地址开始存储)
原则4:对齐参数如果比结构体成员大sizeof值小,则该成员的偏移量应该以此值为准。
(亦即:结构体成员偏移量取二者的最小值)
建议:
结构中的成员按照数据类型由小到大的顺序进行书写。