变量的有效范围称为变量的作用域(scope)。作用域是变量的一种属性,从空间角度来分析的。
归纳起来,变量有4种不同的作用域: 文件作用域(file scope)、函数作用域(function scope)、块作用域(block scope)和函数原型作用域(function prototypescope)。文件作用域是全局的,其他三者是局部的。
除了变量之外,任何以标识符代表的实体( 函数、数组、结构体、类等 )都有作用域,概念与变量的作用域相似。
局部变量
在一个函数内部定义的变量是内部变量,它只在本函数范围内有效,也就是说只有在本函数内才能使用它们,在此函数以外是不能使用这些变量的。同样,在复合语句中定义的变量只在本复合语句范围内有效。这称为局部变量(local variable)
- 主函数main中定义的变量