无标题文章

---

##1.内存分区

> * 堆区

> * 栈区

> * 全局(静态)区

> * 文字常量区

> * 程序代码区

###堆区:

* C:

malloc创建,free释放,程序员手动管理

* Objective-C:

所有OC对象都存储在堆区,arc管理

###栈区:

由编译器自动分配和释放,生命周期只在当前作用域

```Objective-C

void func(int a, int b)

{

{

int c = 0;

}

printf("%d\n", c); // 报错

}

```

###全局(静态)区:

* DATA段(全局初始化区)

* BSS段(全局未初始化区),BSS段会自动清零,每一个字节都为00000000

```Objective-C

//hello.m文件

int a = 1; //存放在DATA段

static int b; //存放在BSS段

char str[10];

int main(int argc, char *argv[]) {

}

```

###文字常量区:

存放C风格常量字符串,见代码

###程序代码区:

存放函数的二进制代码

##2.instruments工具检测内存泄露

##3.关于面向对象与设计模式

##4.一些网站

http://objccn.io

http://blog.devtang.com/blog/archives/

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

推荐阅读更多精彩内容

  • 转至元数据结尾创建: 董潇伟,最新修改于: 十二月 23, 2016 转至元数据起始第一章:isa和Class一....
    40c0490e5268阅读 1,827评论 0 9
  • 【2017年最新】☞ iOS面试题及答案 设计模式是什么? 你知道哪些设计模式,并简要叙述? 设计模式是一种编码经...
    紫色冰雨阅读 624评论 0 1
  • http://blog.csdn.net/david21984/article/details/57451917 ...
    紫色冰雨阅读 593评论 0 0
  • 概述 这篇文章中,我不会说多线程是什么、线程和进程的区别、多线程有什么用,当然我也不会说什么是串行、什么是并行等问...
    hashakey阅读 314评论 0 0
  • 二月春 草长青院柳如风, 院柳如风水作笙。 水作笙思人笑意, 思人笑意草长青。 狐伏案 轻穿林间扰清风, 倦倚阑干...
    山烟踩舟阅读 287评论 0 2