extern定义的变量必须是全局的,这样才可能在其他文件中使用,所以,不能再语句块里定义。位于函数内的变量是局部变量。
变量只能定义一次,所以,不管怎样,只能有一个extern int i=1这样的定义。
extern可置于变量或者函数前,以表示变量或者函数的定义在别的文件中,提示编译器遇到此变量或函数时,在其它模块中寻找其定义。另外,extern也可用来进行链接指定。
在子程序中定义的变量称为局部变量,在程序的一开始定义的变量称为全局变量。
全局变量作用域是整个程序,局部变量作用域是定义该变量的子程序。
当全局变量与局部变量同名时:
在定义局部变量的子程序内,局部变量起作用;在其它地方全局变量起作用。
参考:
http://bbs.csdn.net/topics/250017549谢谢你让学到一点知识。