#pragma pack(n)以及#pragma pack(push)

数据在计算机内存储涉及到内存字节对齐机制,它是为了最大限度的减少内存读取次数。因为CPU读取速度比内存读取速度快至少一个数量级,所以为了节省运算花费时间,只能以牺牲空间来换取时间了。

#pragma pack(n)

#pragma pack(n) 其作用是指定编译器的字节对齐参数为n

用法

#pragma pack(n)
代码
#pragma pack()
代表在这之间的代码数据按n字节对齐进行存储。

#pragma pack(push)

#pragma pack(push) //保存当前对齐状态,类似于一个压栈操作

用法

#pragma pack(push,4) //保存当前对齐状态,并设定为4字节对齐
#pragma pack(pop) //恢复对齐状态

字节对齐规则

成员对齐
每个成员按其类型的对齐参数(通常是这个类型的大小)和指定对齐参数中较小的一个对齐。结构的长度必须为所用过的所有对齐参数的整数倍。
结构、类对齐
对于结构来说,它的对齐方式就是它的所有成员使用的对齐参数中最大的一个。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值