请高手们帮帮忙啊
请高手们帮帮忙啊
{ union u_type
struct str_type
{ char str[100];
union u_type u[2];
printf(&%d\n&, sizeof(struct str_type));
【25】 A)100 B)116
C)120 D)200
***选B。为什么呢
联合体u_type的长度以其成员最大长度为准,所以联合体占得长度为:sizeof(double)==8;,结构体长度为所有成员长度之和(要考虑自然定界,但是这道题正好不用考虑,具体感兴趣可以在百度里搜一下“结构体 自然定界”就可以找到相关内容),char str[100]的长度为 sizeof(char)*100=100; sizeof(u)=sizeof(u_type)*2==8*2==16;故总共占有长度为116字节!!
有不详尽的望指正!
请遵守网上公德,勿发布广告信息
相关问答: