结构体(或者联合体)变量的成员在内存里是如何分布的

结构体成员在内存中的分布受编译器优化和CPU字节序影响,遵循对齐规则,保证高效访问。编译器可根据对齐参数设置成员间的内存间隔,结构体长度为对齐参数的最小整数倍。数组成员按元素单独对齐,位段按其类型占用空间。成员地址由低到高排列,小端模式下高位存储在高地址。
摘要由CSDN通过智能技术生成

1.概述

结构体变量的成员在内存里是如何分布的、成员先后顺序是怎样的、成员之间是连续的还是分散的、还是其他的什么形式?这些问题既和软件相关又和硬件相关。所谓软件相关主要是指和具体的编程语言的编译器的特性相关,编译器为了优化CPU访问内存的效率,在生成结构体成员的起始地址时遵循着某种特定的规则,这就是所谓的 结构体成员“对齐”;所谓硬件相关主要是指CPU的“字节序”问题,也就是大于一个字节类型的数据如int类型、short类型等,在内存中的存放顺序,即单个字节与高低地址的对应关系。

2.分布规则

(1)为了提高CPU访问内存的效率,程序语言的编译器在做变量的存储分配时进行了优化处理&#

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值