c语言结构体大小 sizeof(struct A)


1,数据类型自身对齐

数据类型的起始地址为其大小的整数倍

2,结构体的自身对齐

结构体的自身对齐值为其中最大的成员大小

3,指定对齐

可以使用关键词#pragma pack(1) 来指定结构体的对齐值

4,有效对齐值

有效对齐值为自身对齐值与指定对齐值中较小的一个。(即指定对齐值超过自身对齐值无意义)

 1 #include<stdio.h>
 2 struct {
 3     int a;     //单个为4
 4     char b[3]; // 单个大小为1  因为是数组总和为3 
 5     double c;  //单个为4 
 6 }size; 
 7 int main() {
 8 int v; 
 9 v=sizeof(size);
10 printf ("%d",v);  //结果为 16  为4的整数倍补齐 
11 return 0;
12 }

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM