在C语言中,要进行动态内存的开辟就需要使用到malloc函数。
malloc函数工作机制
(1)malloc函数被调用时,它会沿空闲链表寻找一个可以满足需求的内存块,然后把所需大小的内存块分配给用户,剩下的返回到链表上。free函数被调用时,它将释放的内存块连接到空闲链表上。
(2)到最后,空闲链表会被分成很多小的内存片段,当用户申请一块较大的内存空间时,空闲链表上可能没有满足需求的内存块了,这时,malloc函数请求延时,并将空闲链表内的小内存片段整理成大的内存块,最终返回。
本文介绍了C语言中动态内存管理的核心函数malloc的工作机制。malloc通过维护一个空闲链表来分配和回收内存,当内存碎片化严重时,malloc会进行整理以满足大内存需求。
在C语言中,要进行动态内存的开辟就需要使用到malloc函数。
(1)malloc函数被调用时,它会沿空闲链表寻找一个可以满足需求的内存块,然后把所需大小的内存块分配给用户,剩下的返回到链表上。free函数被调用时,它将释放的内存块连接到空闲链表上。
(2)到最后,空闲链表会被分成很多小的内存片段,当用户申请一块较大的内存空间时,空闲链表上可能没有满足需求的内存块了,这时,malloc函数请求延时,并将空闲链表内的小内存片段整理成大的内存块,最终返回。
1094

被折叠的 条评论
为什么被折叠?