---
##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/