ios程序中存储的回忆

可编程序中的存储区域基本上分为:静态存储区,栈区,堆区,代码区。

     1.静态存储区(全局存储区):该块内存在程序编译期间就已经分配好,并且在程序运行期间都一直存在,主要用于存储静态数据,全局数据和常量。

        被static修饰的局部变量存储在这里,普通的局部变量存储在栈里。

     2.栈:编译器在需要的时候再分配内存,里面通常存储普通的变量,并且它的内存分配运算是内置于处理器上的,执行效率很高。

     3.堆:它的内存由程序管理,存储的一般时new,alloc 出来的对象。动态分配内存。

     4.代码区:存放二进制代码。运行程序就是执行代码,代码想要执行就得加载到内存中。

     4.文字常量区:存储程序中使用到的常量。程序运行结束后由系统释放。

关键字

static:

     1.被static修饰的变量和普通变量有什么区别?

        static修饰的变量存储在静态存储区,程序运行期间一直存在,普通的变量存储在栈中,它的生命周期跟生命它的函数周期一样。

     2.被static修饰的全局变量和普通的全局变量有什么区别?

        他们都存储在静态存储区,被static修饰的全局变量他只在声明它的文件中有效,普通的全局变量可以在其他的文件中调用。

posted @ 2017-02-24 16:31  日月哥哥  阅读(170)  评论(0编辑  收藏  举报