K&R 存储分配器说明

K&R Storage Allocator clarification

我对 Kernighan 中的存储分配器有一些疑问 - Ritchie:The C Programming Language - The Unix System Interface,第 185-189 页?

第 186 页上说:

The search for a free block of adequate size begins at the point (freep) where the last block was found; this strategy helps keep the list homogeneous.

如我所见,我们不一定需要 freep,我们可以从 base 开始每次搜索。

如果你总是从头开始,你会耗尽较大块列表的开头(因为它们更容易满足请求)。因此,该列表将从许多较小的块开始,对于中等或较大尺寸的请求将不得不遍历更多列表才能找到合适的内容。