局部变量

范围:在一个函数内部定义的变量,作用范围仅仅限于本函数体内。

生存期:程序运行到本函数才会给局部变量分配内存单元。函数运行完成局部变量所占的存储单元就被释放

全局变量

在函数体外部定义的变量是全局变量。能够被本文件全部其它函数訪问使用。

作用域:全部文件。在一个cpp定义的全局变量在还有一个cpp中使用,应该在使用它的函数体内部或外部进行extern说明

生存期:全局变量在程序的所有执行过程中占用固定的内存单元。生存周期是整个程序执行期间。

实验代码

/*
* 变量的作用域、生存期和可见性
* date: 2015-07-13
* author: zhang
*/ #include <iostream>
using namespace std; void fn1();
int x = 1;
int y = 2; int main()
{ int x = 10;
int y = 20;
cout << "x = " << x << ",y = " << y << endl; fn1(); cout <<"x = "<< x <<",y = " << y << endl;
return 0;
} void fn1()
{
int y = 100;
cout << "x = " << x << ",y =" << y << endl;
}

执行结果:

x = 10,y = 20
x = 1,y =100
x = 10,y = 20

从执行结果来看,当局部变量与全局变量重名时。在局部变量的作用域内,全局变量隐藏

能够參阅的其他文章:

http://www.jb51.net/article/41324.htm

http://my.oschina.net/hnuweiwei/blog/261070

最新文章

  1. 定制Asp.NET 5 MVC内建身份验证机制 - 基于自建SQL Server用户/角色数据表的表单身份验证
  2. 找出1-N中1的个数
  3. Python 标准库 urllib2 的使用细节
  4. Android 国际化字符串资源,各语言目录表及从字符串资源文件读字符方法
  5. C#中多线程写DataGridView出现滚动条导致程序卡死(无响应)的解决办法
  6. Eclipse启动 报错[Failed to load the JNI shared library jvm.dll
  7. jQuery 弹出div层
  8. poj3708:函数式化简+高精度进制转换+同余方程组
  9. VS前台设计中的缺陷
  10. (一) 从Angular1到Angular2的杂谈
  11. UITextFiled的输入框改成一条下划线
  12. Python学习笔记-Django连接SQLSERVER
  13. 如何生成git ssh key
  14. python史上最全学习路线图
  15. C# Winform多窗体&amp;&amp;构造函数传值
  16. CloudStack和OpenStack该如何选择(如果准备选择OpenStack,请做好hack的准备。CloudStack的底层功能已经做的很完善了,更适合商用)
  17. 《Java性能优化权威指南》
  18. dockerfile学习笔记
  19. CI循环数组问题
  20. C++继承后的函数访问权限

热门文章

  1. 浅谈cocos2dx(17) 中单例管理模式
  2. hdu4870 Rating (高斯消元或者dp)
  3. IntelliJ IDEA 10 配置 Tomcat7
  4. Android - 加入Android的OpenCV依赖库(Android Dependencies) 问题
  5. 并行编程(1) - sum.msic.Unsafe 一
  6. thinkPHP 空模块和空操作、前置操作和后置操作 具体介绍(十四)
  7. windows2003安装
  8. Extjs 可重用组件开始写 2014 8 23日
  9. BZOJ 2120 带修莫队
  10. 制作ubuntu的U盘启动盘