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 这三行代码就有四大块内存。
15 a,b,p是存储空间在栈中:放局部变量。系统自动回收。
16 Person对象放于堆中:堆是用来放动态产生的存储空间。
17 */
18
19 /*
20 IOS中堆与栈的区别:
21 1.堆是存放动态产生的存储空间,栈存放的是局部变量。
22 2.堆不支持自动回收,栈支持。
23 3.堆比栈大很多,因为要用堆存放对象。
24
25 为什么要内存管理:
26 因为堆中动态产生的存储空间不能自动释放,被系统回收,会产生内存泄露,
27 所以需要我们人为的区管理内存。所以一般管理内存指的是对堆的管理。
28 */
29 return 0;
30
31 }