关于求Sizeof的问题
#include<stdio.h>main()
{
union dat
{
int i;
char ch;
float f;
}x;
printf("%d\n", sizeof(x));
}
结果是4;
怎么解释?
#include<stdio.h> main() { // union dat { int i; char ch; float f; }x; //union dat x //当一个共用体被说明时, 编译程序自动地产生一个变量, 其长度为联合中最大的变量长度。 //以上例而言,最大长度是float数据类型,所以dat 的内存空间就是float型的长度。x为变量。 printf("%d\n", sizeof(x));// 输出变量x的长度,十进制长度为4. }