- 博客(1)
- 收藏
- 关注
转载 【小试牛刀】C语言malloc()与free()实现
【小试牛刀】C语言malloc()与free()实现 在C语言中只能通过malloc()和其派生的函数进行动态的申请内存,而实现的根本是通过系统调用实现的(在linux下是通过sbrk()系统调用实现)。 malloc()到底从哪里得到了内存空间?答案是从堆里面获得空间。也就是说函数返回的指针是指向堆里面的一块内存。操作系统中有一个记录空闲内存地址的链表。当操作系统收到程序的申请时,就会遍历该链表,然后就寻找第一个空间大于所申请空间的堆结点,然后就将该结点从空闲结点链表中删除,并将该结点的空间分配给程序。
2021-11-11 21:53:44
172
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人