C语言 extern 问题

建一个C工程,某.c文件调用另一.c文件里面的函数时,只要在前一文件进行声明,加不加extern都可以调用。
若不建工程,只是在同一目录中的两个文件的话,即使写extern,也不管用。

那么extern看来是用不用都可以啊(建工程了,它自己会自动帮着链接,不建工程,即使写extern也不会自动关联起来),能帮我讲解一下extern函数的用法吗?

建一个C工程,某.c文件调用另一.c文件里面的函数时,只要在前一文件进行声明,加不加extern都可以调用。--这是因为函数原型的作用,在1.c中声明要调用2.c中的函数时,该函数的作用域已扩展到1.c文件
至于第二个问题,我不懂;不建工程项目,可以编译文件吗?
extern函数的用法:
1extern int fun(int a,int b){}表示fun()函数可在其他文件中使用
2在1.c中
main(){1extern int fun(int a,int b);//表示fun()可被main()调用
fun(1,2);}
在2.c中
extern int fun(int a,int b){}追问

用的是Dev-C++的开发环境,可以单建一个源代码文件,编译并运行。
那针对第一个问题--加不加extern都可以调用。可否举一个必须要加extern的例子?没有extern关键字就不能通过编译或有其他问题的例子。谢谢
从网上搜了不少extern的讲解,但都没有说明何时必须要用extern。

追答

我用的是vc6编译器:
#include
void fun();
void main()
{ fun();
}
或#include
void main()
{ extern void fun();
fun();
}(file1.c内不变)
在file1.c中
#include
void fun()
{
printf("2");
}

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答
大家正在搜