C++中的全局变量 局部变量 常量 静态变量的在内存中的分配

在看书时发现了这几个概念有些混乱,和同学们讨论也觉得这个地方没搞懂,包括网上的一些对于这方面的介绍,让自己更糊涂了。花了几天时间,稍微弄懂了些。

之所以有些混乱,我觉得是基本概念没有搞清楚,我查阅了英文版的C++primer,首先把一些定义搞清楚,所以这件事情告诉我们还是外文原版的书靠谱啊!!

下面截一些c++primer的原文,再加上自己的理解。

C++ has three ways of managing memory for data, depending on the method used to allocate memory: automatic storage, static storage, and dynamic storage, sometimes called
the free store or heap.

C++有三种方法去管理数据在内存中的分配:automatic storage, static storage, 和dynamic storage(有时候被叫做free store或者堆)

第一种automatic storage:通常一个变量定义在一个函数中,用auto修饰符修饰的变量,就在这个存储区中。我们知道一般auto修饰符是可以省略的,也就是说在函数中定义的没有static修饰的就在这个存储区内。而automatic storage通常用一个栈结构来维护。也就是说函数中大多数的变量都维护在这个内存区,也就是我们通常所说的栈中。

第二种叫做static storage:这个存储区在整个程序运行的过程中都存在,有两种方式来声明一个在该存储区的变量,一种是在声明变量前加static,第二种是将变量声明在函数

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值