内存对齐的原则:
1:第一个成员的首地址为0
2:每个成员的首地址必须为自身字节大小的整数倍
补充:前提是对齐数要不大于自身字节大小,以4字节对齐为例,如果自身大小大于4字节,都以4字节整数倍为基准对齐
3:结构体总体对齐
以4字节对齐为例,取结构体中最大成员类型倍数,如果超过4字节,都以4字节整数倍为基准对齐
4:补齐
补齐的目的是多个结构体变量挨着摆放的时候也满足对齐的要求
常见数据类型字节大小
int:4字节
char:1字节
double:8字节
float:4字节
long:4字节
long long:8字节
long double:16字节