c - 这个程序有内存泄漏吗?

标签 c memory-leaks

int main()
{
    char *a = malloc(1024);
    return 0;
}

上面的程序有内存泄漏吗?请提供尽可能完整的技术性答案。

最佳答案

程序本身有漏洞。操作系统是否清理它是另一回事。我想最好问一下“这个程序可能会在任何系统上引起问题吗?”答案是肯定的。

C 标准没有任何地方说用malloc 分配的内存将在程序终止时释放,无论是正常终止还是异常终止。将其与打开的文件进行比较,如果程序正常终止,C 实现保证为您关闭这些文件。

关于c - 这个程序有内存泄漏吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15385397/

相关文章:

c++ - 如何影响_calling_函数的值返回?

python - Matplotlib 简单案例内存泄漏与 Pandas

php - 调试 LAMP/CakePHP 站点内存泄漏?

c - 使用命令行参数中的 getchar 和 putchar 来编码程序以发送到解码

c - 如何在 Windows 上包含外部 C 库

Java VisualVM 内存采样器 - 如何获取特定类的大小

内存管理

Java内存使用/修复

c++ - 这段代码会发生什么? (执行一个字符缓冲区)

c - 在 Windows shell 命令中嵌入 Python 代码