一.结构体内存对齐规则
1.第一个成员在与结构体变量偏移量为0的地址处.
2.其他成员变量要对齐到某个数字(对齐数)的整数倍的地址处.
对齐数=编译器默认的一个对齐数与该成员大小的较小值.
3.结构体总大小为最大对齐数的整数倍.
4.如果嵌套了结构体的情况,嵌套的结构体对齐到自己的最大对齐数的整数倍处,结构体的整体大小就是所有最大对齐数的整数倍.
二.位段
1.位段成员必须是 int,unsigned int或signed int.
2.位段成员名后面有一个冒号和一个数字
例如 int a:2; 表示a占2个bit位
位段让我们更方便的以bit为单位操作内存.