1 #import "Person.h"
2
3 int main()
4 {
5
6 {
7 int a = 10;
8 int b = 20;
9
10 Person *p = [[Person alloc] init];
11 }
12
13 /*
14 這三行代碼就有四大塊內(nèi)存。
15 a,b,p是存儲(chǔ)空間在棧中:放局部變量。系統(tǒng)自動(dòng)回收。
16 Person對(duì)象放于堆中:堆是用來(lái)放動(dòng)態(tài)產(chǎn)生的存儲(chǔ)空間。
17 */
18
19 /*
20 IOS中堆與棧的區(qū)別:
21 1.堆是存放動(dòng)態(tài)產(chǎn)生的存儲(chǔ)空間,棧存放的是局部變量。
22 2.堆不支持自動(dòng)回收,棧支持。
23 3.堆比棧大很多,因?yàn)橐枚汛娣艑?duì)象。
24
25 為什么要內(nèi)存管理:
26 因?yàn)槎阎袆?dòng)態(tài)產(chǎn)生的存儲(chǔ)空間不能自動(dòng)釋放,被系統(tǒng)回收,會(huì)產(chǎn)生內(nèi)存泄露,
27 所以需要我們?nèi)藶榈膮^(qū)管理內(nèi)存。所以一般管理內(nèi)存指的是對(duì)堆的管理。
28 */
29 return 0;
30
31 }