首页 > 代码库 > 栈和堆
栈和堆
- 栈:存储值类型(有时候翻译成“堆栈”)
- 无ARC(自动引用计数)负担,由系统自动管理,以执行函数为单位(一个函数一个栈)
- 空间大小编译时决定(根据参数和局部变量可以确定)
- 函数执行时,系统自动分配一个栈
- 函数执行结束,系统会立即回收stack
- 函数之间通过拷贝值传递
- 具有局限性,大小有限额,超出会stack overflow(栈溢出)(一般是超大递归、死循环情况)
- 堆:存储引用类型对象
- 分配由程序员手动请求([a alloc])(c语言里面的malloc)
- 释放有两种方式,可以手工,也可以ARC机制自动释放
- 函数之间通过拷贝引用(指针)传递
- 具有全局性,总体大小无限制(受限于系统内存整体大小)
栈和堆
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。