C语言 函数指针作回调函数

1.函数指针的定义

1. 本质:函数指针的本质是一个指针指向的是一个具有相同形参,相同返回类型的函数。
    函数名就表示函数的入口地址。

2. 定义函数指针的格式 
    返回类型 (*函数指针变量名)(形参列表) = 函数名;

3. 如何使用函数指针
    将函数指针变量名当成一个函数名使用即可。

#include <stdio.h>
int add_func(int a, int b)
{
	return a + b;
}

int sub_func(int a, int b)
{
	return a - b;
}

// 回调函数:函数指针作为函数的形参,
int alogl(int a, int b, int (*func_p)(int a, int b))
{
	return func_p(a, b);
}


int main(int argc, const char *argv[])
{
	// 定义一个函数指针
	int (*func_p)(int a, int b);
	func_p = add_func;		// 函数指针指向add_func函数 

	// 将函数指针变量名当成函数名使用即可
	printf("100 + 200 = %d\n", add_func(100,200));
	printf("100 + 200 = %d\n", func_p(100,200));

	func_p = sub_func;		// 修改函数指针的指向,指向sub_func函数 
	printf("100 - 200 = %d\n", sub_func(100,200));
	printf("100 - 200 = %d\n", func_p(100,200));

	printf("100 + 200 = %d\n", alogl(100, 200, add_func));
	printf("100 - 200 = %d\n", alogl(100, 200, sub_func));

	return 0;
}
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值