C语言 如何在一个文件中调用另一个文件的函数 用头文件

写一个简单的例子试一下

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里的函数
可以采纳了吧。。。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-02-27

test.h

#include <stdio.h>
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\n", func(a) ); //调用func.c中的函数
}

把以上三个文件放到一个工程中,编译,就可以看到结果了。

本回答被网友采纳
相似回答