代码区 全局区 栈区 堆区

        因为我总是记不清这些概念以及包含的内容,所以想写一篇文章来加深自己对着四个区域的印象,让我们一起来看看吧。

        1.代码区:存放函数的二进制代码,是由操作系统进行管理的。

        2.全局区(又称 数据区/静态区):存放全局变量和静态变量以及常量。

           这里的静态变量是指带有static修饰的变量(不分全局与局部)。

           常量又分为两种,一种是字符串常量,一种是const修饰的全局常量,而const修饰的局部变量不属于全局区,如果大家记混淆的话,就着重“局部”这两个关键字,看到这个关键字,就肯定是局部变量了。

        3.栈区:由编译器自动给分配释放,如存放函数的参数值,以及局部变量,在程序结束后由操作系统回收。

           注意:栈区的数据在函数执行完后,就已经被释放了。

           第一次打印出来数据是因为该机器内部能够保证你输出这一个值(误以为是程序员不小心弄错的),而第二次由于数据被释放,因此出现了乱码的现象。

        4.堆区:由程序员分配和释放,若程序员没有释放,程序结束时由操作系统回收。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值