【发布时间】:2016-04-14 05:07:33
【问题描述】:
如果我通过传递 return 0 来结束执行会发生什么;在使用 malloc 并且没有释放分配的内存部分之后?
int * var;
var = (int *)malloc(sizeof(int)) ;
free(var) ;
return 0;
【问题讨论】:
-
如果你在堆上分配内存并且不释放它,你的程序中有内存泄漏
-
如果您的意思是在不清理所有内容的情况下结束程序,在大多数情况下这不会是一个大问题。不过不要依赖这个。这仍然是内存泄漏。
-
什么是内存泄漏?
-
我对许多反对票感到有些惊讶。在我看来,这是一个合理的问题,尤其是在 OP 不熟悉内存泄漏的明显背景下。
-
也许他们认为每个人生来就无所不知。
标签: c