(C / C ++学习)32.结构尺寸的计算

电脑杂谈  发布时间:2020-05-18 20:08:25  来源:网络整理

结构数组 大小_c 计算结构体大小_c s结构与b s结构 松鼠科学会

一个. 该结构的默认字节对齐方式通常满足三个条件:

示例:

c s结构与b s结构 松鼠科学会_结构数组 大小_c 计算结构体大小

1 typedef struct B {
2     char a1;
3     short int a2;
4     int a3;
5     double d;
6 }BB;

1. sizeof(BB)= 16

c 计算结构体大小_c s结构与b s结构 松鼠科学会_结构数组 大小

1 typedef struct A {
2     double d;
3     char a1;
4     int a3;
5     short int a2;
6 }AA;

2. sizeof(AA)= 24

c s结构与b s结构 松鼠科学会_结构数组 大小_c 计算结构体大小

两个. 特例: 嵌套结构

扩展结构的第一个成员的偏移量应为扩展结构中最大成员的整数倍. 结构的大小必须是所有成员大小的整数倍. 在这里c 计算结构体大小,所有成员都将计算扩展成员c 计算结构体大小,而不是将嵌套结构视为一个整体. 满足上述原理,将整个子结构添加到其他数据中以计算大小.

结构数组 大小_c s结构与b s结构 松鼠科学会_c 计算结构体大小

示例:

1 typedef struct C {
2     long int b2;
3     short int b1;
4     AA a ;
5     //double d;
6     //char a1;
7     //int a3;
8     //short int a2;
9 }CC;

3. sizeof(CC)= 32

1 typedef struct D {
2     long int b2;
3     AA a;
4     //    double d;
5     //    char a1;
6     //    int a3;
7     //    short int a2;
8     short int b1;
9 }DD;

3. sizeof(DD)= 40

(C / C ++学习)32.结构尺寸的计算


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-214500-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      • 菡萏
        菡萏

        老是用这种下三滥的手段来打擦边球没有多大意思

      • 梁琼
        梁琼

        这样美国称霸全球就不会有任何阻碍

      • 王康
        王康

        听到你的声音

      热点图片
      拼命载入中...