C语言之系统内存分区

    系统内存分区从上到下分别是:栈、堆、全局区(静态区)、常量区、代码区函数

栈(stack):函数中定义变量存储在栈中,当调用函数时候函数中定义的变量会被添加到栈中,当函数调用结束的时候,全部被添加的变量都会移除栈在最高的地址上,因此添加的变量地址会逐渐变小。code

堆(heap):Object-C(或者面向对象语言)中经过类建立对象就放在这里它是一块动态内存,当程序运行时候动态分配给变量,它能够长时间存在。对象

全局(globals):定义函数外边的全局变量就放在这个里面,这里的变量在程序启动就被建立,你能够自由的更改它们。内存

常量区(constants):常量在系统一运行被建立,常量区的内存是只读的。如常量字符串就放在这个区。你能够读它们可是不能够修改它们。字符串

代码区(code):代码区是只读的,该区域是用来存放程序的代码。变量

相关文章
相关标签/搜索