malloc内存分配,必须释放。否则内存泄漏?
幸福的面包 2014-01-03 12:19:15 #include <stdio.h>
#include <malloc.h>
int main(void)
{
char *ptr = (char*)malloc(10);
if(NULL == ptr)
{
printf("\n Malloc failed \n");
return 0;
}
else
{
free(ptr);
}
return 0;
}
刚才看了一道题。解释如下:
尽管上面的代码并没有释放分配给“ptr”的内存,但并不会在程序退出后导致内存泄漏。在程序结束后,所有这个程序分配的内存都会自动被处理掉。
这是为什么呢?