首先从静态变量说起. C语言里面静态变量有三种: 分别是外部链接性,内部链接性和无链接性.
声明外部链接的变量的方法是在代码块外面声明它. 此变量是全局变量,多文件中亦可用.声明内部链接的变量的方法是在代码块外面声明它并加上static限定符. 此变量是全局变量,但仅在本文件中可用.声明无链接的变量的方法是在代码块里面声明它并加上static限定符. 此变量是局部变量,但仅在本代码块中可用.例:#include<...........>int global=1; //声明外部链接的变量static int global2 //声明内部链接的变量int func(){ int global=5; //声明的内部变量和全局变量重名,调用时将会隐藏全局的global;cout<<global; //是内部定义的global的值而不是外面的值.//如何引用外面的变量呢???cout<<::global; //可用作用域解析符(::)来说明你要输出的外面的全局变量.static int global3; //声明无链接的变量}int main(){ extern int alobal; //在本文件中此句可选.此句的意思为你需要引用外部的变量global;global=8; //直接引用全局变量.}