C语言函数调用


title: C中函数调用

.c文件之间的函数调用方法

一、通过.h文件调用(推荐使用)

在.c(源文件)文件中对函数进行定义,然后再.h文件中进行声明。
当另一个.c文件调用之前定义好的函数时直接导入声明该函数的.h文件即可。
举个例子:
这是A.h

#ifndef __A_H__
#define __A_H__

	extern int var_A;
	int func_A();

#endif

这是A.c

#include "A.h"

int var_A = 0;
int func_A()
{
	var_A += 1;
	return var_A;
}

假设有一个main.c想调用int func_A()函数
这是main.c

#include "A.h"

//此处可以不写,但是推荐写上便于后期代码维护,不然所调用函数都得去.h文件看
extern int func_A(); 

int main()
{
	int a = 0;
	a = func_A() + 1;
	printf("a = %d", a);
	return 0;
	
}

二、直接extern声明调用(两个.c需要在同一文件夹下)

举个例子
这是一个function.c

int a = 0;
int function(){
	a +=  1;
	return a;
}

*这是主函数main.c

#include <stdio.h>
extern int function();	//这里直接声明调用
int main(){
	int b = 0;
	b = function() + 1;
	printf("b = %d", b);
	return 0;
}

三、.h定义函数 .c调用.h(这样用可能会导致链接重复定义)

重复定义例子:
A.h定义了function()
B.h调用A.h, B.c调用B.h使用function()定义了一个func_B()
C.h也调用了A.h, C.c调用C.h使用function()定义了一个func_C()
main.c 调用B.h和C.h然后使用func_B()和func_C()
这时候编译的时候就会报错,重复定义了function()

举个在.h中定义函数的例子
这是要调用的函数,在.h中定义

#ifndef __func_H__
#define __func_H__

	int function(int a, int b){
		retrun a + b;
	}

#endif

这是主函数

#include <stdio.h>
#include "func.h"

int main(){
	int c = 11;
	int d = 11;
	int temp = 0;
	temp = function(c, d);
	return temp;
}

参考链接

https://blog.csdn.net/jingzi123456789/article/details/51286119
https://blog.csdn.net/jingzi123456789/article/details/51286146
https://blog.csdn.net/jingzi123456789/article/details/51287139

  • 4
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值