C语言字节对齐问题

一、什么是字节对齐

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

二、对齐的原因和作用

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

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

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


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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值