已知:将函数定义放在一个func.c文件中。
func1(){}
func2(){}
func3(){}
方法1:main.c中直接包含func.c//该方法不好,因为无法在另一.c文件中再#include "func.c",会导致函数二次定义。
#include "func.c"
这种方法表明.c文件也是可以使用#include 包含的,但我们一般不这么用。
方法2:将函数的声明放在同一func.h中//可用
func1();
func2();
func3();
在main.c中包含头文件即可:
#include "func.h"
方法3:在main.c中添加函数声明://可用
main.c中:
extern func1();//extern 前缀也可以不写,写的目的是指明在该函数在别的.c文件中。
extern func1();
extern func3();
注意一种特殊情况:
//fun.c
int num =100;//c文件里定义了一个全局变量
void myfunc()
{
printf("%d",num);
}
//main.c
extern void myfunc();
void main()
{
myfunc();
}
如上,我们在fun.c文件中定义了函数myfunc, 和一个全局变量num;(局部变量我们很好理解,因为跟着函数走的)
我们想在main.c中的main函数中调用myfunc,此时我们只需要在文件中声明extern void myfunc();即可。
而不需要再去管fun.c中的全局变量num。(不需要再声明全局变量了)