如果我使用malloc()分配内存,那么即使程序退出,我还是必须调用free()吗?
#include <stdlib.h>
#include <stdio.h>
int main()
{
int *a = malloc(sizeof(int));
*a = 10;
printf("%d", *a);
free(a);
return 0;
}
如果我不打电话给free(),程序退出后内存会发生什么?
答案 0 :(得分:1)
程序退出时将释放所有内存。使用free
的目的是让你不会导致内存泄漏,这会导致你的程序在运行时占用的内存超过它所需的内存。
答案 1 :(得分:0)
你不必,但你应该避免内存泄漏。