C语言中struct结构和union联合大小

C语言中struct结构和union联合所占的空间大小

结论:
(1)struct结构
①所占空间大小为结构体内最大变量类型的整数倍
②结构体变量边界对齐,当前变量首地址需存放在 地址号/变量类型大小 可以整除的位置
(2)union联合
取决于union联合体内最大变量类型的大小

代码:
#include <stdio.h>
int main(){
struct jiegou_1{
char j;
}a;
int k;
k = sizeof(a);
printf(“struct_1 = %d\n”,k);
struct jiegou_2{
int i;
char j;
}b;
k = sizeof(b);
printf(“struct_2 = %d\n”,k);
union lianhe{
int i;
char j;
}c;
k = sizeof©;
printf(“union = %d\n”,k);
return 0;
}

输出:
C语言中struct结构和union联合大小