c – 当程序使用Ctrl-C中断时,动态分配的空间如何释放?

给出以下代码
#include <stdio.h>

int main()
{
    int *p;
    p = (int *)malloc(10 * sizeof(int));

    while(1);
    return 0;
}

当上述代码被编译并运行,并在执行时按Ctrl C中断,分配给p的内存如何释放?这里的操作系统的作用是什么?而在C的情况下,如何使用新的运算符呢?

解决方法

当进程终止时,操作系统将回收进程正在使用的所有内存.

即使当操作系统回收您的应用程序在其终止时使用的内存时,人们大量内存泄漏的原因是通常非平凡的应用程序将长时间运行缓慢地吞噬系统上的所有内存.对于非常短暂的程序来说,这不是一个问题. (但是你永远不会知道什么时候一个单线程将成为一个巨大的程序,所以即使在小程序中也没有任何内存泄漏.)

相关文章

本程序的编译和运行环境如下(如果有运行方面的问题欢迎在评...
水了一学期的院选修,万万没想到期末考试还有比较硬核的编程...
补充一下,先前文章末尾给出的下载链接的完整代码含有部分C&...
思路如标题所说采用模N取余法,难点是这个除法过程如何实现。...
本篇博客有更新!!!更新后效果图如下: 文章末尾的完整代码...
刚开始学习模块化程序设计时,估计大家都被形参和实参搞迷糊...