iOS内存分配五大区:
栈区,堆区,静态区(全局区),常量区,代码区
动态数据区一般就是”堆栈”,栈是线性结构,堆是链式结构. 本地变量在堆栈中.通过堆栈的基地址和偏移量来访问本地变量
动态内存分配有系统根据程序需要即时分配,且分配的大小就是程序要求的大小.
全局变量(一般用static修饰的变量)和静态变量分配在静态区(需要预先分配存储空间)
静态内存分配:分配固定大小的内存分配方法,大多情况下会浪费大量的内存空间,少数情况下,当定义的数组不够大时,会引起越界.
局部变量采用栈的方式存放
iOS内存分配五大区:
动态数据区一般就是”堆栈”,栈是线性结构,堆是链式结构. 本地变量在堆栈中.通过堆栈的基地址和偏移量来访问本地变量
动态内存分配有系统根据程序需要即时分配,且分配的大小就是程序要求的大小.
全局变量(一般用static修饰的变量)和静态变量分配在静态区(需要预先分配存储空间)
静态内存分配:分配固定大小的内存分配方法,大多情况下会浪费大量的内存空间,少数情况下,当定义的数组不够大时,会引起越界.
局部变量采用栈的方式存放