目录
extern的两种用法:
1.在一个文件内声明全局变量
如果全局变量不在文件的开头定义,其有效的作用范围只限于定义处到文件终了。
如果在定义点之前的函数想引用该全局变量,则应该在引用之前用关键字extern对该变量作全局变量声明,表示该变量是一个将在下面定义的全局变量。有了此声明,就可以从声明处起,合法地引用该全局变量,这种声明称为提前引用声明。
一般都把全局变量的定义放在引用它的所有函数之前,这样可以避免在函数中多加一个extern声明。
2. 在多文件的程序中声明外部变量
如果一个程序包含两个文件,在两个文件中都要用到同一个外部变量num,不能分别在两个文件中各自定义一个外部变量num。
正确的做法是:在任一个文件中定义外部变量num,而在另一文件中用extern对num作外部变量声明。即extern int num;
编译系统由此知道num是一个已在别处定义的外部变量,