OC----内存管理:内存5大区域

  1. 栈区域: 系统自动分配. 存储局部变量 如:int num=10, int* p=&num。 num 与 p 都存储在栈区域
  2. 堆区域: 允许程序员手动的从堆申请空间来使用,要主动释放。除非程序结束 如:int 4, float 4.... malloc,calloc ...
  3. BSS段区域: 存储未初始化的全局变量/静态变量,因程序运行时其全局/静态变量都没有初始化
  4. 数据段/常量区:存储已初始化的全局变量/静态变量,与常量数据, 在main 外定义的变量
  5. 代码段区域: 存储程序代码/指令

申请效率的比较:
栈由系统自动分配,速度较快。但程序员是无法控制的。
堆是由new分配的内存,一般速度比较慢,而且容易产生内存碎片,不过用起来最方便.

栈: 元素有先进后出顺序的线性结构。可以考虑叠盘子,只能从最上面拿盘子,也只能往最上面放盘子。那这个盘子序列、包括上面两条规则就构成了一个栈
堆: 满足一定限制

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 3.1 OC特性之 内存五大区域 此篇为针对Objective-c语言入门的基础知识,为了能让大家更清楚的理解,此...
    阿新_会飞的猴子阅读 1,818评论 3 10
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,874评论 18 399
  • 1.机器人底盘launch 1)串口通信节点2)底层数据发布和订阅节点3)激光静态变换:base_line->la...
    marine0131阅读 478评论 0 0
  • 人的本性就是贪婪的,本来是想要一块糖,得到以后又想着如果得到的是一个糖果屋就好了,得到糖果屋以后又想着要城堡,得到...
    张佳敏阅读 361评论 0 0
  • 本文主要就作者在使用阅读类应用ONE的过程中对应用现有的产品功能进行分析给出自己的观点和建议。 一:产品概述: 产...
    放羊的小灰灰阅读 2,185评论 1 3