malloc内存分配

Posted westlife-11358

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了malloc内存分配相关的知识,希望对你有一定的参考价值。

malloc分三步:

适配、分割、合并。

1、适配

匹配>=请求字节大小的内存块。(至于选哪一个,有策略的)

首次适配。

从上一次适配结束位置开始,接着适配。

最佳适配。

2、分割

如果适配到了,选择切割(切割成几部分,看策略具体情况)

如果没适配到,将空闲链表中的相邻空闲内存合并,都合并完了,要么可以适配,要么不可以适配,如果不可以适配,只能想堆内存申请额外的大内存块了,然后添加到空闲链表中适配切割。

3、合并

边界标记技术,允许在常数时间内进行对前面的块合并。

 

以上是关于malloc内存分配的主要内容,如果未能解决你的问题,请参考以下文章

malloc内存分配

malloc是如何分配内存的

malloc是如何分配内存的

malloc分配内存的结构

c语言中啥是动态分配内存?

malloc函数分配内存失败的常见原因