程序中内存分类主要有以下几种:
(1)栈存储区:主要存储局部变量、函数参数、函数返回值等。
栈内存由编译器在需要时自动分配,使用完后自动释放。
(2)堆存储区:由new、malloc申请到的空间。
需要程序员自己申请,使用完后要及时释放,否则会造成内存泄露。
(3)全局数据区(静态数据区):存储程序中的全局变量和静态变量。已初始化的变量和未初始化的变量分开存储,但在相邻的存储区域。程序结束由系统释放。
(4)文字常量区:存储常量字符串。程序结束由系统释放。
(5)程序代码区:存放函数体的二进制代码。
△内存泄露:内存泄漏也称作“存储渗漏”,用动态存储分配函数动态开辟的空间,在使用完毕后未释放,结果导致一直占据该内存单元。直到程序结束。(简单说就是内存空间使用完毕之后未回收)即所谓内存泄漏。