对齐规则:
按照struct中最大的基本类型的整数倍进行对齐
小于最大字节的整数倍,不满足组合的自动补齐
栗子如下:
栗1
struct st{
double d; //8
char c; //1
int num; //4
}
以上结构体字节对齐之后,sizeof(st)=16
栗2
struct st1{
char c1; //1
double d; //8
char c2; //1
int num; //4
}
以上结构体字节对齐之后,sizeof(st1)=24
综上所述:在大型项目开发过程中,一定要注意设计的结构体内存问题,按照合理的对齐方式进行排序,避免结构体对象占用内存较大的问题