请教:malloc(8)之后,系统到底给分配多少内存?

gxlzlu gxlzlu 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
我们的习惯都是malloc(8)或者malloc(16).......
即分配内存都是用2的幂次方来分配。
我们可用的内存为8、16个字节,但是,根据系统的需要,会在每一段内存前面添加一些信息(如这段内存的长度等)
所以,系统实际分配出来的内存应该大于我们所申请的大小。
照此理解,malloc(128)之后,系统实际分配的内存有可能就是256个字节???
如果以上理解正确,那么以前的受到的“节约”的内存申请方法(用2的幂次方)岂不是最大的浪费内存的方法??
希望高人指点一下,谢谢!!
...全文

相关推荐

评论 46
收藏 已收藏
分享
返回顶部
gxlzlu
C语言 70,039 成员 243,237 内容