【发布时间】:2010-02-06 15:37:21
【问题描述】:
假设我有以下 C 代码:
int main () {
int *p = malloc(10 * sizeof *p);
*p = 42;
return 0; //Exiting without freeing the allocated memory
}
当我编译和执行那个C程序时,即在内存中分配了一些空间之后,我分配的内存在我退出应用程序并且进程终止后是否仍然被分配(即基本上占用空间)?
【问题讨论】:
-
清理内存是“好风格”,不是因为您可能在没有受保护内存的操作系统上运行(这是下面的主要建议),而是因为它增加了您的可能性'会发现内存泄漏,并保持你的代码精简和正确......
-
我知道这并不重要,因为它只是一个示例,但是如果您只存储一个,为什么要为 10 个
ints 分配内存呢?
标签: c memory-management