关于C语言中free()的问题

Pra*_*yak 4 c memory

可能重复:
free和malloc如何在C中工作?

free如何知道在程序中调用时要释放多少字节的内存?

小智 8

这是特定于实现的,但是当malloc调用时,分配的内存的大小保持在某处(通常偏离指针本身).当free被调用时,它会使用存储的大小.

这正是你应该只调用free返回的指针的原因malloc.

  • 这取决于实现,malloc实现不会在分配的内存块中存储大小,而是使用指针值作为内部数据结构的索引键,其中存储大小等元数据 (2认同)