外部函数声明的时候一定要用extern吗?

dindon 2003-12-10 09:07:25
我在VC下建了一个控制台程序。为了弄清楚,我建了2个文件。大致如下:
//file.c
void f1(void)
{
printf("this is f1.\n");
}

void f2(void)
{
printf("this is f2.\n");
}

//file2.c
void f1(void);
extern void f2(void);

int main(void)
{
f1();
f2();
}

编译时两个函数都没有问题啊?!!??
why?
...全文
1132 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Meyer 2003-12-10
  • 打赏
  • 举报
回复 1
函数申明默认就是extern的
byyyyy 2003-12-10
  • 打赏
  • 举报
回复
楼上说的对。
mechgoukiteng 2003-12-10
  • 打赏
  • 举报
回复
这2个都可以的,extern表示在其他编译单元里面定义的,所以一般多用于变量:在.c中定义,在.h中extern出来,那么其他编译单元include这个.h文件就可以使用这个变量


yang2pipi 2003-12-10
  • 打赏
  • 举报
回复
c++中函数的声明和定义默认情况下在整个程序中是extern的。因此有没有extern对函数来说是一样的。
dindon 2003-12-10
  • 打赏
  • 举报
回复
漏打了,主函数最后还有一句返回指令。^_^
dindon 2003-12-10
  • 打赏
  • 举报
回复
多谢。

64,642

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧