内存分配方式

 内存 分配 方式有三种:   
    
   1.从静态存储区域分配 。内存 在程序编译的时候就已经分配 好,这块内存 在程序的整个运行期间都存在。例如全局变 量,static变量。   
    
   2.在栈上创建。在执行函数时,函数内局部变量的存储单元 都可以在栈上创建,函数执行结束时这些存储单元 自动被 释放。栈内存分配运算内置于处理器的指令集中,效率很 高,但是分配 的内存 容量有限。   
    
   3.从堆上分配 ,亦称动态内存 分配 。程序在运行的时候用malloc或new申请任意多少的内存 ,程 序员自己负责在何时用free或delete释放内存 。动态内存 的生存期由我们决定,使用非常灵活,但问题也最多。

 

    一般所说的堆栈(stack)往往是指栈,先进后出, 它是一块内存区。用以存放程序的局部变量,临时变量,函数的参数,返回地址等。在这块区域中的变量的分配 和释放由系统自动进行。不需要用户的参与。   
   而在堆(heap,先进先出) 上的空间则是由用户进行分配 ,并由用户负责释放。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值