结果是? 求详解!!!

#include"stdio.h"main(){structst{inty,x,z;};union{longi;intj;chark;}un;printf("%d,%d\... #include"stdio.h" main(){struct st{int y,x,z;};union{long i;int j;char k;}un;printf("%d,%d\n",sizeof(struct st),sizeof(un));} 展开
 我来答
Negamax
2012-03-23 · TA获得超过2721个赞
知道小有建树答主
回答量:656
采纳率:100%
帮助的人:280万
展开全部
给你详细解释下:
sizeof()用来求变量的类型所占的内存大小。
一个结构体的内存大小等于里面所有元素所占大小的和
struct里面有3个int 所以是3*2=6 (PS:有的编译器对int也是给4个字节。所以为12)
union长度呢就是union里面最大的那个。long是4,所以就是4了。
注意:32和64位的系统有区别的
理解原理就行了。
结果有的是(6,4)
有的是(12,4)

考试的时候推荐些6,4
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式