c语言系统可用内存大小,为什么C语言结构的内存大小为24?

e145e80157b387c645df498d28b7d83a.png

x86的默认值为4字节2113对齐方式,也就是说,如果您申请52611字节的内存,则操作系统将为4字节大的4102小空间分配内存,内部1653内存对齐方式可以使CPU运行得更快. 在这里,如果是char数据;更改为char data [2];字符数据[3];字符数据[4];最受欢迎的sizeof结果是相同的. 或定义更多字符c 计算结构体大小c 计算结构体大小,例如:

typedef结构树

{

00243772.jpg

字符数据;

char data1;

char data2;

1-810-jpg_6-1080-0-0-1080.jpg

char data3;

结构树* lchild,* rchild;

}树;

a32c5daa017015abc88faf2ed7173974.png

typedef结构树

{

a43eca1ce90dc9af6b450bde6d24f976.jpg

char数据[4];

结构树* lchild,* rchild;

}树;

效果是一样的

x86下的可寻址性是2到32次方,即32位,并且相应指针的大小也是4个字节,因此它是4 + 4 + 4 = 12.

如果定义字符数据;它是char数据[5];这些数据也会自动对齐,原来4 + 1将变为4 + 4;

在X64的情况下,默认为对齐8个字节,寻址能力变为2的第64次幂,即指针大小为8个字节,最终结果为8 + 8 + 8 = 24;此时,数据大小定义为1到8,最终大小相同.

本文来自电脑杂谈,转载请注明本文网址:

http://www.pc-fly.com/a/jisuanjixue/article-244956-1.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值