什么是泄漏?泄露是指一块内存没有被释放,不能为其他程序(或变量)所占用。
只有在堆中分配的内存才存在泄漏的问题。因为堆中的可用内存是操作系统在维护,你没有释放内存的话,操作系统就不会让它移作他用。形象地说,就是这块内存被"泄漏"了。
如果是全局变量或局部静态变量,编译器会为其分配一个位于静态存储区的地址。这个地址在程序编译链接后就是固定的。如果一个程序在不断地动态申请内存而不释放,才会造成内存的耗尽。
只有在堆中分配的内存才存在泄漏的问题。因为堆中的可用内存是操作系统在维护,你没有释放内存的话,操作系统就不会让它移作他用。形象地说,就是这块内存被"泄漏"了。
如果是全局变量或局部静态变量,编译器会为其分配一个位于静态存储区的地址。这个地址在程序编译链接后就是固定的。如果一个程序在不断地动态申请内存而不释放,才会造成内存的耗尽。