栈和堆

  • 栈:存储值类型(有时候翻译成“堆栈”)
    • 无ARC(自动引用计数)负担,由系统自动管理,以执行函数为单位(一个函数一个栈)
    • 空间大小编译时决定(根据参数和局部变量可以确定)
    • 函数执行时,系统自动分配一个栈
    • 函数执行结束,系统会立即回收stack
    • 函数之间通过拷贝值传递
    • 具有局限性,大小有限额,超出会stack overflow(栈溢出)(一般是超大递归、死循环情况)

       

  • 堆:存储引用类型对象
    • 分配由程序员手动请求([a alloc])(c语言里面的malloc)
    • 释放有两种方式,可以手工,也可以ARC机制自动释放
    • 函数之间通过拷贝引用(指针)传递
    • 具有全局性,总体大小无限制(受限于系统内存整体大小)

转载于:https://www.cnblogs.com/shidaying/p/6930772.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值