内存分配有三种方式:
一:从全局存储区域分配:这时内存在程序
编译阶段
就已经分配好,该内存在程序运行的整个周期都有效,如:全局变量、static静态变量。
二:从栈区分配:在执行函数的时候,函数中的局部变量的存储单元都
可以从栈中分配
,函数执行结束后这些存储单元都会被自动释放,实现从栈中分配存储单元运算操作内置于处理器的指令集中,效率很高 但是分配的内存容量有限。
三:从堆中分配:也称为动态内存分配,在程序运行期间,可以使用malloc和new申请任意数量的内存单元,由程序员决定在什么时候使用free和delete释放内存。
栈区 |
|||
堆区 |
|||
|
|||
二进制程序代码 |