//6_1 (1) //file1.cpp int x=1; int func() { //... } //file2.cpp extern int x; int func(); void g() { x=func(); } //file3.cpp extern int x=2; //error: extern int变量若有赋值,则成定义 int g(); //error: 函数声明与前面不一致 void main() { x=g(); //... } (2) //file1.cpp int x=5; int y=8; extern int z; //file2.cpp int x; //error: int x;重复定义 extern double y; //error: y同一名字不同类型定义 extern int z; //error: z只有声明,却无定义