创建一个文件叫a.h,它包含了声明:
extern int i;
需要用到外部对象filename的每个C源代码都应该加上这样一个语句:
#include “a.h”
最后我们选择一个C源文件,在其中给出i的初始值,我们称这个文件为a.c
#include <stdio.h>
#include "a.h"
int i=8;
int main(void){
printf("%d\n",i);
return 0;
}
只要源文件中各个声明是一致的,而且这些声明最多只有一个是i的定义,这样写就是合法的。
所以上面的代码能正确编译并执行。