我不明白printf("%d\n",sizeof(struct date));语句的结果为啥是12?

#include<stdio.h>
main()
{struct date
{int year,month,day;
}today;
union {long i;
int k;
char c;
}mix;
printf("%d\n",sizeof(struct date));
printf("%d\n",sizeof(mix));
}
上面的程序的结果12,4,我不明白printf("%d\n",sizeof(struct date));语句的结果为啥是12,我认为是6,因为我觉得int类型占2个字节,三个就该占6个
还望网友快给小弟解释一下哈!

宝慕林4294392
浏览 661回答 2
2回答

qq_遁去的一_1

不同的编辑器会使相同类型的变量占用的空间不同。你如果在VC下运行那么就是12,因为vc下int是占用4个字节的,tc下占用2个字节。

当年话下

是12 你用的系统是32位的啊 int型的就是4个字节
打开App,查看更多内容
随时随地看视频慕课网APP