c语言中多个c文件调用同一函数

已知:将函数定义放在一个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。(不需要再声明全局变量了)

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值