内存五区到底是什么?

电场、磁场都是实际存在的物质,这些物质我们看不见摸不着,当它们出现时,我们都认为理所当然,而不会对其背后的理论与原理进行深究,我们追求的是实用性和帮我们解决问题。计算机也是如此,当汇编语言和图形界面出现之前,操作和使用计算机是少部分专业人的专利,与我们芸芸众生相隔甚远。而当计算机走入寻常生活时,哪怕我们对计算机一无所知,也不妨碍我们通过图形界面使用应用软件和操作计算机,我们只关心具体的术、而不在乎形而向上的道。

但是对于一个开发者来说,我们只有在充分理解计算机背后的”道“基础上,才能做到对具体术的游刃有余。而这个修道的过程,恰恰是我们成长的过程。

计算机中有很多概念,计算机的学习实际是对概念的学习。看书阅读是最基本的方式,但是最重要的还是需要自己动手练习和做项目,对于成年人来说,没有什么比任务式学习更有效。下面对内存五区进行简单说明,希望以后能够和大家互相讨论,共同进步,毕竟终生学习不是口号,而是已经走近现实。
在C++中,内存分成5个区,他们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。 栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清楚的变量的存储区。里面的变量通常是局部变量、函数参数等。
堆,就是那些由new分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个new就要对应一个delete。如果程序员没有释放掉,那么在程序结束后,操作系统会自动回收。
自由存储区,就是那些由malloc等分配的内存块,他和堆非常相似,不过他们是通过free的方式释放内存。

全局/静态存储区,全局变量和静态变量被分配到同一块内存中,

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值