<分区>
int main()
{
char *a = malloc(1024);
return 0;
}
上面的程序有内存泄漏吗?请提供尽可能完整的技术性答案。
标签 c memory-leaks
<分区>
int main()
{
char *a = malloc(1024);
return 0;
}
上面的程序有内存泄漏吗?请提供尽可能完整的技术性答案。
最佳答案
程序本身有漏洞。操作系统是否清理它是另一回事。我想最好问一下“这个程序可能会在任何系统上引起问题吗?”答案是肯定的。
C 标准没有任何地方说用malloc
分配的内存将在程序终止时释放,无论是正常终止还是异常终止。将其与打开的文件进行比较,如果程序正常终止,C 实现保证为您关闭这些文件。
关于c - 这个程序有内存泄漏吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15385397/