内存溢出
用动态存储分配函数动态开辟的空间,在使用完毕后未释放,结果导致一直占据该内存单元,不能被任何程序再次使用,直到程序结束。即所谓内存泄漏。简单的说就是申请了一块内存空间,使用完毕后没有释放掉。
简单理解内存溢出就是你要求分配的内存超出了系统能给你的,系统不能满足需求,于是产生溢出。
它的一般表现方式是程序运行时间越长,占用内存越多,最终用尽全部内存,整个系统崩溃。由程序申请的一块内存,且没有任何一个指针指向它,那么这块内存就泄露了。
注意:内存泄漏是指堆内存的泄漏。
内存泄漏
内存泄露是指程序在运行过程中动态申请的内存空间不再使用后没有及时释放,从而很可能导致应用程序内存无限增长。更广义的内存泄露包括未对系统的资源的及时释放,比如句柄等。
总结
内存泄漏:申请了内存但没释放
内存溢出:申请的内存超出系统能力