字符占的字节数

来源:百度知道 编辑:UC知道 时间:2024/06/15 10:57:35
设union
{int b;
chara[9];
float x;
}un;
则变量un所占的字节数为多少?请讲解一下。

一般取那个最大的项目
int b ==4byte
char a[9]; ==9 byte
float x;==4 byte

但是c编译器一般要进行4字节对其
所以应该是比9大一点 是12

每8个字节一对齐
先申请了4个int 又补齐4个char 这是8个
剩下5个char,又申请了一个float,因为float自己要占4个连续字节,4+5>8 所以剩下的char占8个字节 又8个
float又申请了4个

一共20

自己可以事实
printf ("%d\n",sizeof(un));