我了解了“free”,它在 C 语言中 malloc 之后使用,不会产生垃圾内存。什么是回收?我查找了它但找不到任何代码。我得到的只是关于免费的解释。它们是一样的吗?
补充一点,在我关于数据结构(一般线性列表)的书中提到“Recycle 是一个伪代码命令,用于将节点的空间返回到动态内存。
非常感谢。
如果许可证有任何问题,我将丢弃该图片。
最佳答案
回收意味着释放未使用的内存,以便以后使用。
如果您继续使用 malloc
-ing 而没有 free
-ing,则运行一段时间后,您的程序可能会占用 GB 的 RAM,其中大部分未使用。直接后果可能是操作系统拒绝程序进一步的 malloc
请求,甚至加重整个系统的负担。
回收不是伪代码。它是真实代码,告诉操作系统“该内存块不再使用。您可以将其分配给任何程序。”之后,系统可以管理该特定内存块。再次内存而不是浪费它。真正的代码是free()
,而回收只是计算机科学中使用的术语。
就效率而言,释放
未使用的内存始终是一个好习惯。
关于c - 回收动态内存是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47344356/