2道很简单的c语言题目。帮忙看看谢谢 15

我需要答案和过程噢感谢... 我需要答案和过程噢感谢 展开
 我来答
阿卡迪奥
2019-03-07 · TA获得超过405个赞
知道答主
回答量:84
采纳率:54%
帮助的人:21.9万
展开全部
一、第10题选B.
共用体/union各个成员是从同一地址开始存放的。共用体大小计算一般是实际占用空间最大的成员的长度(这里就是int b[3]的大小最大3*4=12)。若该成员的长度不是其他成员类型长度的整数倍(如果是数组就是数组类型的长度)则拓展到满足成员大小的整数倍。这里其他两个数组是char和long大小是1和4,刚好12是他们的整数倍,不用拓展。
二、第7题选D.

结构体第一个成员地址和结构体首地址相同,每个成员地址相对于结构体首地址的偏移量是该成员大小的整数倍,如果不是就在成员间加填充字节;构体总的大小必须是其成员中最大的整数倍,如果不是就在末尾添加填充字节。
根据上面的计算union大小的的方法,计算得union uu大小是8。所以第一个int r1大小是4,偏移量为4;第二个double r2大小为8,偏移量为0;第三个float r3大小为4,偏移量为4,union uu大小为8,所以总的大小为(4+4)+8+(4+4)+8=32。
采纳一下吧。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式