一道c语言 基础题 求程序的详细解答

UnionU{charst【4】;inti;longif};structA{Intc;unionUu}a;正确答案是12但是读不懂这个程序能不能一步一步的告诉我程序说的是... Union U
{ char st【4】;
int i;
long if
};
struct A
{ Int c;
union U u
}a;
正确答案是12
但是读不懂这个程序 能不能一步一步的告诉我程序说的是什么
题目是变量a所占内存字节数是
展开
 我来答
White_MouseYBZ
推荐于2016-07-24 · TA获得超过4万个赞
知道大有可为答主
回答量:2.1万
采纳率:82%
帮助的人:6645万
展开全部
这总共是8字节,不知答案12是如何得到的?U是联合体,取最长成员变量所占空间,它们都是4字节,所以取4;a是结构体,取成员变量所占空间之和并“对齐”,int c;占4字节,union U u;也是4字节,所以总共8字节。8是最长基本类型int4字节的整数倍,所以“对齐”后仍是8字节。如果这题的union中的char st[4]是char st[5],那么“对齐”后U就需要8字节,则a就需要12字节了……供参考。
天云小店
2015-06-20 · TA获得超过2.8万个赞
知道大有可为答主
回答量:3281
采纳率:91%
帮助的人:785万
展开全部
你这没输出啊,怎么得到12的结果
追问
不好意思 忘了写问题了  题目是变量A所占内存字节数是
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式