C语言之系统内存分区

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

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

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

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

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

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

转载于:https://my.oschina.net/u/2395612/blog/840310

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值