释放堆内存

释放堆内存

所以我使用 Ubuntu 进行编程,我使用带有 C 语言 gcc 编译器的 atom 文本编辑器。我想问一下,如果我不清除 malloc 或 calloc 分配的内存会发生什么?操作系统会处理这个问题吗?还是我必须清除它。以防我忘记了。

答案1

您必须自行处理释放内存的问题。C 不像 JAVA 和其他语言那样具有自动内存管理功能。

当进程停止时,分配的内存将被自动释放。

但是如果您有一个长时间运行的进程,不释放内存就会泄漏,从而导致系统内存耗尽。

相关内容