变量的作用域

变量的作用域

标签(空格分隔): C 双学位高级语言程序设计 C函数


变量的作用域

  • 变量能被读写访问的范围
  • 取决于变量在源程序中被定义的位置

局部变量

  • 在语句块(函数、复合语句)内部定义的变量
  • 仅能在定义它的语句块内访问它
  • 由于C标准不同,有的可以在复合语句内定义变量,有的不可以(如for(int i=0;i<=9;i++),C99支持,C89不支持)
  • 面对不同的作用域,可以重名;如果出现重名变量,优先使用当前范围下的局部变量

全局变量

  • 在所有函数之外定义的变量
  • 在程序的任何一个函数内都可以读写
  • 在所有函数外定义的变量叫全局变量,在函数内定义的变量叫局部变量。全局变量能在该程序内任何一个函数中使用,局部变量只能在定义它的函数内使用。两种变量的作用空间不同,所以变量名可以相同。当在一个函数内全局变量和局部变量名相同时,优先使用局部变量值。

全局变量的作用

  • 当多个函数必须共享同一个固定类型的变量时
  • 当少数几个函数必须共享大量数据时。比如计算递归的次数

虽然全局变量很好用,但是有缺点

全局变量的缺点

  • 破坏了函数的封装性,不能实现信息隐藏
  • 全局变量很难在其他程序中复用
  • 应用很多全局变量的程序难以维护
posted @ 2017-12-11 09:19  CF过2100就买ARCTERYX  阅读(136)  评论(0编辑  收藏  举报