永发信息网

C语言变量占内存字节数问题

答案:2  悬赏:40  手机版
解决时间 2021-03-08 13:15
  • 提问者网友:泪痣哥哥
  • 2021-03-08 02:56
C语言变量占内存字节数问题。
stuct st
{char nu[6];int s[4];double ave;}a,*p;
问变量a在内存中所占字节数。
最佳答案
  • 五星知识达人网友:思契十里
  • 2021-03-08 04:06
得看编译器设置的字节对齐了,而且也得看编译器是怎么定义int的
如果你不使用字节对齐,即紧凑存放,而且为32位编译系统,则a在内存中所占字节数为6*1+4*4+1*8=30个字节
若是4字节对齐,32位系统,则8+4*4+8=32字节
若是不字节对齐,16位编译系统(如TurboC2.0),则是6+4*2+8=22字节

你的问题,和编译器有关,得给出前提。
全部回答
  • 1楼网友:有你哪都是故乡
  • 2021-03-08 05:42
21 union aa按占字节数位最大的元素计算。 这里有三个元素 x:4 y:4 c:6 于是 为6 z即struct st占字节数,为各个元素和 v:6 w:2*5=10 ave:4 所以是6+10+4=20 选a 22 x为union 类型, 占字节数为最大元素值 i:2 ch:1 f:4 于是占4个字节 选c
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯