码迷,mamicode.com
首页 > 编程语言 > 详细

C++中的全局变量、普通局部变量和静态局部变量的区别

时间:2016-04-06 02:09:46      阅读:246      评论:0      收藏:0      [点我收藏+]

标签:

在C++中,我们经常难以说清楚全局变量、局部变量和静态局部变量的区别。本博客从变量存储特性和标识符作用域两个角度区分这三个变量。

首先,我们来看看C++程序的内存区域是如何分配的。

技术分享

从上图,我们可以看到,C++程序的内存区域分为代码区、全局数据区、堆区和栈区。其中,全局变量和静态局部变量存放在全局数据区,这两个变量在程序开始时就已经分配和初始化存储空间了。而普通局部变量存放在栈区,它在程序进入声明的代码块时生成,在结束代码块时删除。

 

其次,从标识符作用域的角度,我们可以认为:

1. 全局变量和静态局部变量具有文件作用域

2. 普通局部变量具有函数作用域或者块作用域

 

C++中的全局变量、普通局部变量和静态局部变量的区别

标签:

原文地址:http://www.cnblogs.com/hzm12/p/5357610.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!