栈区
1、从高地址向低地址分配;
2、存储局部变量,函数结束立即释放。
堆区
1、从低地址向高地址分配;
2、允许程序员手动向堆区申请空间,用完需手动释放。常用函数:malloc(申请) calloc(申请) realloc(扩容) free(释放)
3、OC对象也是在堆区存储的。
BSS段
存储未初始化的全局变量、静态变量。
当全局问题、静态变量初始化后,就会释放,转而存储在常量区。
数据段(常量区)
存储已初始化的全局变量、静态变量、常量。程序结束时才会释放。
代码段
存储程序的代码(指令),程序结束时才会释放。