11问答网
所有问题
c语言,第十题变量a所占内存字节数为什么是6?
如题所述
举报该问题
推荐答案 2020-11-28
您好,你的问题,我之前好像也遇到过,以下是我原来的解决思路和方法,希望能帮助到你,若有错误,还望见谅!得看编译器设置的字节对齐了,而且也得看编译器是怎么定义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字节
你的问题,和编译器有关,得给出前提。非常感谢您的耐心观看,如有帮助请采纳,祝生活愉快!谢谢!
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://11.wendadaohang.com/zd/2v7F78v478qFFP78vS.html
其他回答
第1个回答 2020-11-28
union类型是按照最占空间的变量来算空间长度的,这里最长应该是char[4]占4个字节。struct类型是按照所有变量的总长度计算字节的,所以是4+int类型的长度,这个可能要看具体的编译器,有的int类型是两个字节,有的是四个字节,所以可以选6,也可以选8。
本回答被提问者和网友采纳
相似回答
C语言
问题
答:
union U 是4个字节 如果改成char st[5];char st[6];char st[7];char st[8];的话就会是12个
字节,
因为有
内存
对齐问题 之所以正确答案
是6,
因为用的是16位的
C语言
编译器,比如TC,那里面int是2个字节.long是4个字节,但是在32位的情况下是int是4字节.还有我没有在TC里测试,可能也存在内存对齐...
大家正在搜
变量a所占内存字节数
联合体变量所占内存字节数
c语言字符串内存字节数
如何计算变量占内存的字节数
指针变量占用的内存单元字节数
结构体变量占用内存的字节数
结构体的变量所占的内存字节
内存字节数在c语言中啥意思
wang所占的内存字节数
相关问题
c语言编程显示内存不能为read
什么C语言编程软件适合初学者
C语言编程一个给字符指针分配内存空间
c语言编程中提及的内存碎片该怎么理解
C语言编程_关于内存限制 HDOJ 2023
C语言编程一个给字符指针分配内存空间
C语言中 “*c=&m”和“c=&m”的区别是什么?
C语言编程时使用MALLOC后未用FREE函数释放内存空间怎...