在程序模块中,当一个变量的值由用户输入、被程序处理或者被输出处理时,我们称为该变量在这个模块中被引用了。在特定情况下,在一个模块中声明的变量不能在另一个模块中被引用。试图在一个模块中使用其他模块中声明的变量将得到编译器给出的“未知变量”的错误信息。一个给变量能够在程序中被引用的代码范围称为变量的作用域

对大多数编程语言来说,在特定模块中声明的变量,其作用域包含该模块本身以及所有它的子模块。

全局变量的作用域为整个程序范围;另外在一些编程语言中,如果一个变量在所有程序模块之外(包括主程序)或者前面进行了声明,那么该变量就是全局变量。

在某一子程序中声明的变量被称为局部变量,具有如下特点:

  • 当子程序中,局部变量的值更改时,在子程序外部同这些局部变量名相同的变量的值不会跟着改变。
  • 当程序中一个变量的值更改时,在子程序中同该变量名称相同的局部变量的值不会跟着改变。

有时,局部变量和全局变量会发生冲突的情况,为了解决冲突应采用局部声明优先原则,即子程序变量的值更改时主程序变量的值不会跟着改变。

除了计数器以外,在一个程序中将两个变量名同名不是好的编程习惯,例如PyCharm就会给这种情况标警告。

局部变量是必然会支持的,有些编程语言完全不支持全局变量。

【程序设计】变量的作用域相关推荐

  1. 精读《javascript高级程序设计》笔记二——变量、作用域、内存以及引用类型

    变量.作用域和内存问题 执行环境共有两种类型--全局和局部 作用域链会加长,有两种情况:try-catch语句的catch块,with语句. javascript没有块级作用域,即在if,for循环中 ...

  2. 《JavaScript高级程序设计(第四版)》红宝书学习笔记(2)(第四章:变量、作用域与内存)

    个人对第四版红宝书的学习笔记.不适合小白阅读.这是part2.持续更新,其他章节笔记看我主页. (记 * 的表示是ES6新增的知识点,记 ` 表示包含新知识点) 第四章:变量.作用域与内存 4.1 原 ...

  3. python中变量的作用域有几种_Python中变量的作用域(variable scope)

    http://www.crifan.com/summary_python_variable_effective_scope/ 解释python中变量的作用域 示例: 1.代码版 #!/usr/bin/ ...

  4. c语言变量ppt,C语言程序设计-变量.ppt

    <C语言程序设计-变量.ppt>由会员分享,可在线阅读,更多相关<C语言程序设计-变量.ppt(14页珍藏版)>请在人人文库网上搜索. 1.C语言程序设计,变量与表达式,变量, ...

  5. php use 使用变量,php闭包中使用use声明变量的作用域实例分析

    本文实例讲述了php闭包中使用use声明变量的作用域.分享给大家供大家参考,具体如下: function getClosure($i) { $i = $i.'-'.date('H:i:s'); ret ...

  6. PHP (20140510)深入浅出 JavaScript 变量、作用域和内存 v 0.5

    深入浅出 JavaScript 变量.作用域和内存 v 0.5 本文主要从原理入手分享变量和作用域的相关知识,最后结合本文所分享知识,再次深入了解下闭包的运行原理. 主要参考<JS高级程序设计& ...

  7. C语言中变量的作用域

    C语言中变量的作用域 C语言中所有变量都有自己的作用域,申明变量的类型不同,其作用域也不同.C语言中的变量,按照作用域的范围可分为两种, 即局部变量和全局变量. 一.局部变量 局部变量也称为内部变量. ...

  8. 变量的作用域和生命周期

    目录 作用域 局部变量的作用域 局部变量的生命周期 生命周期 全局变量的作用域 全局变量的生命周期 作用域 作用域是程序设计概念,一段程序代码中所用到的名字并不总是有效/可用的,而限定这个名字的可用性 ...

  9. C语言中将外部变量的作用域扩展到其他文件

    C语言中将外部变量的作用域扩展到其他文件 1.外部变量的定义 外部变量是在函数的外部定义的全局变量.全局变量都是存放在静态存储区中,因而它的生存期是固定的,存在于程序的整个运行过程. 2.外部变量的作 ...

最新文章

  1. 传染病控制(洛谷 1041 WA 90)
  2. Linux-gate.so.1的含义[ZZ]
  3. 尚硅谷spring和spring boot笔记_手机标准内存达12G,比笔记本电脑还高!可为何系统总能占一半?...
  4. Nginx负载均衡实现之四层与七层负载
  5. [css3]:nth-child与:nth-of-type的区别
  6. mysql语句注意点 2021-05-15
  7. js获取CuteEditor的值
  8. 家庭自建服务器风险,服务器虚拟化可能面临的五个风险
  9. 详解Android常用抓包工具的使用方法、技巧-学习笔记20220416
  10. 免root卸载MIUI中在通知栏中推送广告的应用——msa
  11. HSPICE求导语句
  12. 计算机打印怎样添加PDF格式,将PDF打印机添加到计算机后如何将Excel打印为PDF
  13. 开关电源—Buck电路原理及其仿真
  14. ecshop mysql密码忘记_ECSHOP后台密码忘记了怎么办
  15. 安装Java时出现‘以下应用程序正在使用需要由此安装程序更新的文件。请关闭这些应用程序’ (已解决)
  16. java long类型溢出误区
  17. 金陵科技学院c语言校内题库,金陵科技学院校内二级复习题
  18. “大力神”正式由欧派接管
  19. NLP笔记:常用激活函数考察整理
  20. 基于javaweb的二手自行车商城系统(java+jsp+javascript+servlet+mysql)

热门文章

  1. P1-0:项目框架搭建
  2. 单元测试——Winfrom
  3. swift 4.2 - 根据字符串 push指定控制器
  4. 不断的感悟、不断的学习、不断的成长
  5. codeforces 453C Little Pony and Summer Sun Celebration
  6. BZOJ 1018: [SHOI2008]堵塞的交通traffic
  7. An Overview of Cisco IOS Versions and Naming
  8. windows_study_2
  9. Android 4.1新增功能特性
  10. PHP出现 Notice: Undefined index:...的原因及解决办法