结构体大小

mac2026-05-05  7

结构体的大小

规则-------内存对齐 结构体成员存放的地址要能整除该成员本身的大小 1.前面所有成员大小的相加因该是当前成员大小的倍数 2.整个结构体的大小应该是应该是结构体中单个最大成员的倍数

struct C { int a; //4 char b; //1 short c; //2+1 }//4+1+3=8 struct A { char a; //1 int b; //4+3 short c; //2+2 }; //1+7+4=12 struct B { short a; //2 char b; //1+1 int c; //4 }; //2+2+4=8

注意:不同的顺序排列结构体的大小是不同的

内存对齐图示 联合体(共同体) 各个成员具有排他性

union D { char a;//1 int b;//4 }; 4
最新回复(0)