外部变量,也称为全局变量,是定义在函数外部的变量。
外部变量具有静态存储期限和文件作用域。
在程序运行期间,保存在外部变量的值将一直存在。
在整个文件中的各个函数都可以访问外部变量。
/* 全局变量*/
int global = 100;
/* 读 */
void read(){
printf("global=%d\n",global);
}
/* 写 */
void write(int i){
global = i;
}
全局变量的利弊:
全局变量可以方便的实现多个函数之间数据的共享。但是,全局变量也会带来很多麻烦:
在修改全局变量时,要确保访问全局变量的其它所有函数不受影响。
如果全局变量被错误的修改,很难跟踪哪里发生了错误。
依赖全局变量的函数很难复用,因为它不是独立的。
多线程访问时的程序同步也是个问题。
综上所述,要慎用全局变量。
该博客教程视频地址:http://geek99.com/node/1024
原文出处:http://geek99.com/node/881#