各位好友,欢迎来到本期博文 !本期,继续推进上一期内容 ! ------- 结构体 下面重点讲解, 如何计算一个结构体的大小 ! 现定义一个结构体,如下 : 1. 内存对齐规则 (1)第一个成
各位好友,欢迎来到本期博文 !本期,继续推进上一期内容 !
-------> 结构体
下面重点讲解, 如何计算一个结构体的大小 !
现定义一个结构体,如下 :>
1. 内存对齐规则
(1)第一个成员在于结构体偏移量为 0 的地址;
(2)其他成员变量要对齐到某一个数字(对齐数)的整数倍的地址处;
注意:> 对齐数 = 编译器默认的一个对齐数 与 该成员字节大小的较小值; VS 默认对齐数的大小为 8
(3)结构体总大小为:最大对齐数(所有变量类型最大值与默认对齐参数取最小值)的整数倍;
(4)如果 嵌套了结构体,嵌套的结构体对齐到自己最大对齐数默认的整数倍,结构体的整体大小就是所有最大对齐数(包含嵌套的结构体)整数倍 !
2. 计算结构体大小(重点)
为了方便好友们,有更好的观感,与更好地理解 !以下分析,均是采用彩色图示,请观察:>
以上就是,结构体大小的相关计算了 !
其实,只要学会了方法,无论 怎样变化 变量类型,以及 成员个数,总能应付自如 !