C语言字节对齐问题

一、什么是字节对齐

    计算机中,内存空间按照字节划分,理论上可以从任何起始地址访问任意类型的变量。但是,实际中在访问特定类型变量时经常在特定的内存地址访问,这就需要各种类型数据按照一定的规则在空间上排列,而不是顺序的一个接一个的存放,这就是对齐。

二、对齐的原因和作用

    某些平台对特定类型的数据只能从特定的地址开始存取;更常见的情况是,如果不按照平台要求对数据存放进行对齐,会带来存取效率上的损失。

  •     合理的内存对齐可以提高访问效率。为使得CPU能对数据进行快速访问,数据的起始地址应具有“对齐”特性。
  •     合理利用字节对齐可以有效的节省存储空间。

    在VC/C++和GNU GCC中都是默认4字节对齐。


参考文献:http://www.cnblogs.com/clover-toeic/p/3853132.html#3943789

猜你喜欢

转载自blog.csdn.net/mercy_ps/article/details/80783392
今日推荐