局部变量

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

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

全局变量

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

作用域:全部文件。在一个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

c++变量的作用域、生存期和可见性相关推荐

  1. C++之变量的作用域,生存期,可见性

    作用域是表示某个标识符在什么范围内有效: 可见性是指标识符是否可见,可引用: 生存期,是指程序中的简单变量和类的对象,它们同自然界中的万物一样.也有自己的产生和消亡的生存期,变量和对象的生存期包含静态 ...

  2. Java新职篇:变量的作用域和生存期

    到目前为止,我们使用的所有变量都是在方法main()的后面被声明.然而,Java允许变量在任何程序块内被声明.在第2章中已解释过了,程序块被包括在一对大括号中.一个程序块定义了一个作用域(scope) ...

  3. c语言函数变量的作用域与生存期

    目录 一.作用域与生存期的概念 1.变量的作用域 2.变量的生存期 二.全局变量与局部变量 1.局部变量的作用域与生存期 2.全局变量的作用域与生存期 一.作用域与生存期的概念 1.变量的作用域 在c ...

  4. C语言中变量的作用域和生存期的区别

    变量的作用域与生存期 一.变量的作用域 1.基本概念 2.代码分析 3.总结 二.变量的生存期 1.基本概念 2.C语言的内存分布 (1)基本概念 (2)数据在内存中的分布 3.总结 4.补充 一.变 ...

  5. 变量的作用域和生存期:_生存分析简介:

    变量的作用域和生存期: In the previous article, I have described the Kaplan-Meier estimator. To give a quick re ...

  6. 【转载】flash时间轴中变量的作用域

    序言:使用actionscript3开发的童鞋都不可避免的要使用到flash cs系列软件进行开发,也会觉得在时间轴上写脚本感觉会事半功倍.这时候不得不注意的一点是在时间轴上声明变量要注意的问题,不然 ...

  7. c语言变量作用域生命周期,C/C++——C++变量的作用域与生命周期,C语言中变量的作用域和生命周期...

    谭浩强书: 从存储模型可以看到,谭浩强和钱能的模型有一定的对应关系: 静态存储区  ->  全局数据区 动态存储区  ->  栈(stack) 变量的类型: 1. 局部变量和全局变量 局部 ...

  8. JavaScript:变量提升作用域

    作用域是JavaScript中听上去感觉很简单,其实比较麻烦的一个特性,什么是作用域?我看书籍有一个相对的官方解释:作用域(scope,或译有效范围)就是变量和函数的可访问范围,即作用域控制着变量和函 ...

  9. C语言学习第五天(存储类和变量的作用域)默认熟悉数据结构

    存储类 存储类定义 C 程序中变量/函数的范围(可见性)和生命周期.这些说明符放置在它们所修饰的类型之前. auto 存储类 auto 存储类是所有局部变量默认的存储类. register 存储类 r ...

最新文章

  1. Python中lambda表达式学习
  2. python fuzzy c-means demo
  3. WINCE屏蔽NK的串口输出信息
  4. python3 json解析_Python3 JSON编码解码方法详解
  5. .NET Core TLS 协议指定被我钻了空子~~~
  6. java 0 1背包_浅谈java实现背包算法(0-1背包问题)
  7. 特斯拉在以色列开售Model 3 比国内贵出30%!
  8. 数据库设计优化经验谈(转载)
  9. TensorFlow实战minist数据集(CNN)
  10. 东数西算背后的大棋局
  11. java使用xmlWorkerHelper将html转pdf
  12. matlab二维正态分布图,二元正态分布密度函数图像-基于matlab
  13. edge启动页北hao123流氓绑定的其中一个解决方法
  14. 基于PHP美食食谱的外文翻译,中国传统菜谱的英文翻译锦集
  15. js html页面原生js横向打印
  16. 【Linux系列】signal函数详解
  17. TMC2130-TA/LA电机驱动芯片对比DRV8880、DRV8846、DRV8886
  18. 基于Mozilla平台的扩展开发(续)----XPCOM组件篇
  19. 千兆以太网和快速以太网有什么区别?
  20. maven源码阅读之二(plexus-classworlds)

热门文章

  1. 02如何抓住重点,系统高效地学习数据结构与算法?
  2. C#图解教程 第六章 深入理解类
  3. WPF 实现 DataGrid/ListView 分页控件
  4. 新秀翻译(两)——使用Java通用配置模板方法模式
  5. ElasticSearch实战-入门
  6. 程序员制作出价值5亿外卖神器却不能取消订单,你知道吗?
  7. ffmpeg avformat_open_input返回失败的解决办法
  8. libuv 中文编程指南(四)网络
  9. Wordpress 提速之 Gzip 压缩
  10. WriteComponent,ReadComponent