程序的内存分配

1.全局变量分配在全局/静态区

2.静态变量(全局或者局部)分配在全局/静态区

3.自动变量分配在栈区

4.创建的oc对象分配在堆区

5.文字常量分配在常量区

int a = 1;//全局变量分配在全局/静态区

static int b = 2;//静态全局变量分配在全局/静态区

 

- (void)viewDidLoad {

    [super viewDidLoad];

    // Do any additional setup after loading the view, typically from a nib.

    static int c = 3;//静态局部变量分配在全局/静态区

    int d = 4;//自动变量分配在栈区

    NSString *string = @"abcd";//string自动变量分配在栈区,后面的字符串常量分配在常量区

    NSArray *array = [[NSArray alloc] init];//array自动变量分配在栈区,后面创建的oc对象分配在堆区,栈区的指针指向堆区的对象。

}

原文地址:https://www.cnblogs.com/huangzs/p/10551122.html