一、什么是字节对齐
计算机中,内存空间按照字节划分,理论上可以从任何起始地址访问任意类型的变量。但是,实际中在访问特定类型变量时经常在特定的内存地址访问,这就需要各种类型数据按照一定的规则在空间上排列,而不是顺序的一个接一个的存放,这就是对齐。
二、对齐的原因和作用
某些平台对特定类型的数据只能从特定的地址开始存取;更常见的情况是,如果不按照平台要求对数据存放进行对齐,会带来存取效率上的损失。
- 合理的内存对齐可以提高访问效率。为使得CPU能对数据进行快速访问,数据的起始地址应具有“对齐”特性。
- 合理利用字节对齐可以有效的节省存储空间。
在VC/C++和GNU GCC中都是默认4字节对齐。
参考文献:http://www.cnblogs.com/clover-toeic/p/3853132.html#3943789