C语言填空题,答案为21,求解释。

设有以下结构类型说明和变量定义,则变量b在内存所占字节数是_____。structstud{shortintage;charnum[3];floats[2];double... 设有以下结构类型说明和变量定义,则变量b在内存所占字节数是 _____。
struct stud { short int age; char num[3]; float s[2]; double ave; } b,*p;
展开
 我来答
wlg1091557947
2012-05-11 · TA获得超过890个赞
知道小有建树答主
回答量:625
采纳率:25%
帮助的人:526万
展开全部
short int 占2个字节
char 占1个字节 num[3]:3x1=3
float 占4个字节 s[2]:2x4=8
double 占8个字节;
2+3+8+8=21
百度网友8f8a7e6
2012-05-11 · 超过19用户采纳过TA的回答
知道答主
回答量:114
采纳率:0%
帮助的人:67.5万
展开全部
因为是struct
所以是各个所占内存字节数相加
short int 占2个字节,char占1个,float 占4个,double占8个
所以应该是:2+3*1+2*4+8=21
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2012-05-11
展开全部
short int 占2个字节,char是占一个字节,数组元素有3个 所以是3个字节,float占4个字节,有两个元素,所以是8个字节,double占8个字节,所以总共21个字节
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
听不清啊
高粉答主

推荐于2017-11-08 · 说的都是干货,快来关注
知道顶级答主
回答量:7.8万
采纳率:89%
帮助的人:1.9亿
展开全部
具体大小与所使用的编译器有关。
所占字节数:
先计算:sizeof(short int)+3+2*sizeof(float)+sizeof(double))
将所得值向上取到8的整数倍。
例如,2+3+8+8=21
则实际取值为24字节。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
玩笑求问
2012-05-11 · TA获得超过113个赞
知道答主
回答量:132
采纳率:100%
帮助的人:84.4万
展开全部
对 ,我也觉得答案错的,应该是24=4+4+8+8;有个补齐问题。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(9)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式