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

1 typedef struct B { 2 char a1; 3 short int a2; 4 int a3; 5 double d; 6 }BB;
1. sizeof(BB)= 16

1 typedef struct A { 2 double d; 3 char a1; 4 int a3; 5 short int a2; 6 }AA;
2. sizeof(AA)= 24

两个. 特例: 嵌套结构
扩展结构的第一个成员的偏移量应为扩展结构中最大成员的整数倍. 结构的大小必须是所有成员大小的整数倍. 在这里c 计算结构体大小,所有成员都将计算扩展成员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
这样美国称霸全球就不会有任何阻碍
听到你的声音
老是用这种下三滥的手段来打擦边球没有多大意思