linux c语言下引用其他文件的函数问题

有两个文件,我在linux下编译gcca.cb.c-otest为什么这样a.c也能正常引用b.c的函数b()??我记得老师说过在a.c使引用其他文件的函数时,在开头应该声... 有两个文件,我在linux 下编译 gcc a.c b.c -o test
为什么这样a.c 也能正常引用b.c的函数 b()??
我记得老师说过 在a.c 使引用其他文件的函数时,在开头应该声明下不是吗?怎么样才是正确方法引用其他文件的函数?

//////a.c
#include<stdio.h>
int main()
{
b();
return 0;
}

/////b.c
1 #include<stdio.h>
2 void b()
3 {
4 printf("bbb\n");
5 }
展开
 我来答
wubing0707
2012-05-13
知道答主
回答量:11
采纳率:0%
帮助的人:1.8万
展开全部
假如你不把b.c编译进去的话就需要通过extern 来申明,你编译进去的话编译器就将这两个c文件都连接在一起了。而且gcc -o 其中就包括了预定义,编译 ,汇编,链接过程了,
也就是说你想在一个C语言的文件中运用其他的C文件的函数有两种方式:1 将你涉及到的C文件一起编译进去。但是这里面只能有一个C文件中有main函数。2. 假如不想将其他的C文件编译进去的话,那就像你说的把C文件的函数通过extern进行申明就可以了。
AA5956
推荐于2017-09-13 · TA获得超过1868个赞
知道小有建树答主
回答量:705
采纳率:72%
帮助的人:466万
展开全部

调用其他文件定义的函数的步骤如下

  1. 先在在A.h中声明函数

  2. 在A.c文件中定义该函数fun()

  3. 在需调用fun的文件前面引用A.h #include<A.h>

  4. 直接调用func()

例如:

A.h

#include <stdio.h>

void fun();

A.c

#include "A.h"
void fun()
{
    printf("hello");
}

在需要调用fun()的文件中

#include"A.h"
int main()
{
    fun();
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hong_derek
推荐于2017-09-21 · TA获得超过234个赞
知道答主
回答量:261
采纳率:0%
帮助的人:77.2万
展开全部
严格的做法是要先声明后使用,如果不声明编译器会产生缺省的无参数声明。如果实际上函数有参数就会编译错误
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tuwulin365
2012-05-11 · TA获得超过4644个赞
知道大有可为答主
回答量:1.3万
采纳率:100%
帮助的人:6365万
展开全部
声明放在头文件里。a.c把头文件include进来。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
接修5U
2012-05-12
知道答主
回答量:69
采纳率:0%
帮助的人:33.1万
展开全部
嗯,
#include<stdio.h>
void main()
{
int b;
b();
printf("%d",b);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式