栈
栈的内存地址是连续且被记录的。内存由边意思字需要时自动分配和释放。栈通常用来存储局部变量和函数参数。栈运算分配效率高但是容量有限。在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时自动释放。
堆
堆申请的内存是随机分配的。使用malloc函数进行分配,使用free进行释放。如果未能进行正确释放就会造成内存泄露。在程序结束后系统会自动回收。
全局/静态存储区
全局变量和静态变量以及常量存储在全局数据区,静态变量存储在静态存储区,C语言区分初始化和未初始化,C++不区分
常量存储区
存储常量区域
自由存储区
使用new/delete进行内存分配