1、在使用extern来声明外部变量时,要注意声明类型与定义类型要一致,例如:
在文件中定义为:
char filename[]="/ect/passwd";
在另一个文件中声明为
extern char *filename;
尽管在很读环境下数组和指针很相似但是他们本质上是不同的
可以使用一下方法:
char filename[]="/ect/passwd";
extern char filename[];
或者
char *filename="/ect/passwd";
extern char *filename;
2、一个未被声明的标识符后面跟了(),他会被视为一个返回值为整形的函数:
main()
{
double s;
s=sqrt(2);
printf("%g\n",s);
}
实际上完全等于:
extern int sqrt();
main()
{
double s;
s=sqrt(2);
printf("%g\n",s);
}