C语言 如何在一个文件中调用另一个文件的函数 用头文件
答案:2 悬赏:40
解决时间 2021-01-08 17:03
- 提问者网友:萌卜娃娃
- 2021-01-07 22:10
C语言 如何在一个文件中调用另一个文件的函数 用头文件
最佳答案
- 二级知识专家网友:舊物识亽
- 2021-01-07 23:00
test.h
#include
int func(int x);func.c
int func(int x)
{
return x*x ; //返回x的平方
}main.c
#include "test.h"
void main()
{
int a=3;
printf("%d
", func(a) ); //调用func.c中的函数
}把以上三个文件放到一个工程中,编译,就可以看到结果了。
#include
int func(int x);func.c
int func(int x)
{
return x*x ; //返回x的平方
}main.c
#include "test.h"
void main()
{
int a=3;
printf("%d
", func(a) ); //调用func.c中的函数
}把以上三个文件放到一个工程中,编译,就可以看到结果了。
全部回答
- 1楼网友:十鸦
- 2021-01-08 00:32
file1.c 头文件为file1.h
file2.c 头文件为file2.h
比如file2.c要调用file1.c里的一个函数
首先file2.c里要包含file1.h头文件(file1.h里有file1.c的函数申明)
然后file2.c文件里要有file1.c里的外部函数申明,用extern关键字申明
然后就可以直接file2.c里面调用file1.c里的函数了
我在单片机里是这样弄的完全没问题,51,avr,pic都可以追问用简单的程序例子么追答你自己不写么,我描述的够清楚了吧。
另外,电脑上的turboC我没用过,所以1楼的例子不知道对不对,按我的理解,test.h内的函数申明,怎么能保证指向func.c内的函数实体?func.c不包含test.h头文件吗?追问就是不会才问的嘛。。。。写的都不能运行追答我就用1楼的例子来说明吧
file1.h 内容如下
#ifndef _FILE1_INCLUDED_
#define _FILE1_INCLUDED_
extern int func(int x);
#endif
file1.c 内容如下
#include "file1.h"
int func(int x)
{
return x*x ; //返回x的平方
}
file2.c 内容如下
#include "file1.h"
void main()
{
int a=3;
printf("%d\n", func(a) ); //调用file1.c中的函数
}
以上,就实现了file2.c里调用file1.c里的函数
可以采纳了吧。。。
file2.c 头文件为file2.h
比如file2.c要调用file1.c里的一个函数
首先file2.c里要包含file1.h头文件(file1.h里有file1.c的函数申明)
然后file2.c文件里要有file1.c里的外部函数申明,用extern关键字申明
然后就可以直接file2.c里面调用file1.c里的函数了
我在单片机里是这样弄的完全没问题,51,avr,pic都可以追问用简单的程序例子么追答你自己不写么,我描述的够清楚了吧。
另外,电脑上的turboC我没用过,所以1楼的例子不知道对不对,按我的理解,test.h内的函数申明,怎么能保证指向func.c内的函数实体?func.c不包含test.h头文件吗?追问就是不会才问的嘛。。。。写的都不能运行追答我就用1楼的例子来说明吧
file1.h 内容如下
#ifndef _FILE1_INCLUDED_
#define _FILE1_INCLUDED_
extern int func(int x);
#endif
file1.c 内容如下
#include "file1.h"
int func(int x)
{
return x*x ; //返回x的平方
}
file2.c 内容如下
#include "file1.h"
void main()
{
int a=3;
printf("%d\n", func(a) ); //调用file1.c中的函数
}
以上,就实现了file2.c里调用file1.c里的函数
可以采纳了吧。。。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯