字节对齐
一:什么是字节对齐:
计算机在读取数据按照一定的规则在空间上排列,而不是顺序的一个接一个的排放,这就是对齐。
二:为什么要对齐 ?
字节对齐就是计算机为了提高执行效率,以内存空间换取执行效率,如果计算机一个字节一个字节读取数据,必然是最省空间的但是这样操作起来执行的速度太慢,效率太低,所以要出现字节对齐,让计算机一次性读取几位,提高执行效率,但这样又会浪费空间,所以字节对齐是内存和时间一场博弈,最终为了换取效率,所以牺牲内存,以内存换取时间。
三:字节对齐的计算
1.结构体: 从上至下
2.结构体中结构体: 由里及外,从上至下
3#pragma pack(size): 最小值size=1,2,4,8,16其他数为无效值
4.位域: 不能夸位域