1、
全局作用域:
当变量是在所有函数的外部声明的,称其为外部变量,它具有全局作用域(即可以在程序的任何地方访问它);全局作用域的变量/函数可以在独立编译的代码模块中使用,前提是要在使用他的模块中用extern关键字对他们进行声明。
2、
局部作用域;
在函数内部或者在某一模块内声明,不能被其他函数模块访问的变量,还有函数的形参都具有局部作用域。在c++中支持不同作用域中使用同名标识符,但是在同一函数内,如果使用同名标识符,具有内层作用域的标识符会覆盖外层作用域的标识符。
当一局部变量和一全局变量同名时,所有对变量名的 引用都会指向局部变量,此时,如果使用全局变量,就要用作用域解析符::来限定变量(就是说通知编译器).
4.
类作用域
3、
文件作用域:
标识符只在声明他的文件内可见,外部不可见,即:不能使用extern在其他文件中声明它们。即全局的静态变量.
5.
从文件定义处到文件结尾. 函数体内的 静态变量.
以上是我个人观点,下面大家多多指教.