用extern扩展全局变量的作用域,虽然能为程序设计带来方便,但应十分慎重,因为在执行一个文件中的函数时,可能会改变了该全局变量的值,从而会影响到另一文件中的函数执行结果。
用static声明静态外部变量
有时在程序设计中希望某些外部变量只限于被本文件引用,而不能被其他文件引用。这时可以在定义外部变量时加一个static声明。例如:
file1.cpp
- static int a=3; int main ( )
- { ┆
- }
file2.cpp
- extern int a; int fun (int n)
- { ┆
- a=a*n; ┆
- }
在filel.cpp中定义了一个全局变量a,但它用static声明,因此只能用于本文件,虽然 在cpp文件中用了“extern int a;”,但file2.cpp文件中仍然无法使用filel.cpp中的全局变量a。










