有关字节对齐的知识汇总

首先我们得明白,什么是字节对齐?

在访问特定类型变量的时候经常在特定的内存地址访问,这就需要各种类型数据按照一定的规则在空间上排列。


然后我们还得懂得,为什么需要字节对齐?

其实,字节对齐是空间与时间的博弈,为了效率的考虑,不得不采取空间换时间的策略,利用空间占位,造成了数据在地址上的对齐,这个时候就达到了访问数据只需要一次读入即可。


字节对齐计算的四个概念

1、基本数据类型的自身对齐值:

char类型:            1字节

short类型:           2字节

int、float类型:    4字节

double类型: 8字节

2、程序的指定对齐值:

即#pragma pack(value)时的指定对齐值value

3、自定义类型的自身对齐值:

即结构体或类的成员自身对齐最大的值

4、自定义类型的有效对齐值:

自定义类型的自身对齐值和指定对齐中较小的值

掌握了这些就可以初步认识字节对齐了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值