iOS 结构体内存对齐

结构体内存对齐规则

  1. 每个成员的对齐数为自身大小,每个成员的offset为自身对齐数的整数倍;
  2. 结构体整体的对齐数为所有成员中最大的对齐数;
  3. 结构体最终大小为自身对齐数的整数倍,不足需要补齐。

内存对齐规则应用

对齐规则应用

根据规则1,先计算出每个成员变量的offset,再根据规则2和3计算出整体的大小。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 为什么OC对象在开辟内存的时候会有内存对齐原则,在对象申请内存的时候是16字节对齐的,在真正开辟所需要的内存时时8...
    何必太轻浮阅读 388评论 0 1
  • 先来看一张内存图 一.结构体定义 为什么两个输出的结果不一样呢?接下来我们看看内存对齐规范 1:数据成员对⻬规则:...
    jokerlee阅读 327评论 1 3
  • 什么是内存对齐 内存对齐是一种在计算机内存中排列数据、访问数据的一种方式。它包含基本数据对齐和结构体数据对齐 。 ...
    8ef7f923f5bb阅读 306评论 0 0
  • 一、结构体 结构体,我们可以将它当做一种数据类型,并且是一个集合类的数据类型,它的数据成员可以是基础数据类型(in...
    小糾丶羯阅读 375评论 0 2
  • 一、结构体内存对齐原则: 1.第⼀个数据成员放在offset为0的地方2.后续的成员起始位置要从该成员大小的整数倍...
    ChenL阅读 196评论 0 1