结构体(四)

结构体的对齐规则

  自动对齐规则

               

 

    1、确定分配单位(一行分配多少个字节)

      结构体中最大基本类型长度决定

    2、确定成员的偏移量

      成员的偏移量 = 成员自身类型的整数倍

    3、收尾

      结构体的总大小 = 分配单位的整数倍

  结构体嵌套结构体自动对齐规则

    1、确定确定分配单位(一行分配多少个字节)

      所有结构体中最大的基本类型长度决定

    2、确定成员的偏移量

      普通成员偏移量 = 成员自身类型的整数倍

      被嵌套的结构体整体偏移量 = 该结构体中最大的基本类型的整数倍

    3、收尾

      结构体成员大小 = 该结构体中最大的基本类型的整数倍

      结构体的总大小 = 分配单位的整数倍

                                       

 

 强制对齐

  #pragma pack(value) 时指定对齐值value。注意value的值为1、2、4、8、16

  1、确定分配单位(一行分配多少个字节)

    分配单位 = min(结构体中最大的基本类型, value)

  2、确定成员的偏移量

    成员的偏移量 = 成员自身类型的整数倍

  3、收尾

      结构体的总大小 = 分配单位的整数倍

                             

 

posted @   牙齿凤  阅读(18)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示