函数指针,回调函数的简单使用

博主现在本就对函数值传递头疼,现在又多了函数传递和回调。。

废话不多说。

在一个一般的涉及函数的程序中,我们可以直接用函数名对函数进行调用。

#include<stdio.h>
void func(int level)
{
	printf("我是%d级原神牢玩家", level);
}

int main()
{
	int level;
	scanf_s("%d",&level);
	func(level);
	return 0;
}

现在,我们使用函数指针完成上面的函数:

#include<stdio.h>
void func(int level)
{
	printf("我是%d级原神牢玩家\n", level);
}

int main()
{
	int level;
	scanf_s("%d",&level);
	void (*pfunc)(int);//定义函数指针
	pfunc = func;//将指针指向目标函数
    //在这里调用两次,分别是C++和C的使用方式
	pfunc(level);//C++
	(*pfunc)(level);//C
	return 0;
}

下面再来介绍回调函数的简单使用。

回调函数的目的是把一个函数嵌入到另一个函数中。

#include<stdio.h>、
//调用函数
void func(void(*character)())
{
	printf("我非常喜欢原神中的角色\n");
	//由于不同的玩家喜欢不同的角色,用回调函数表达不同玩家对角色的喜爱
	character();
}

//回调函数
void kq()
{
	printf("刻晴,我真的好喜欢你啊,我要当你的狗");
}
void gy()
{
	printf("甘雨,我真的好喜欢你啊,我要当你的狗");
}
void fnn()
{
	printf("芙宁娜,我真的好喜欢你啊,我要当你的狗");
}

int main()
{
	//比如我很喜欢芙宁娜。
	func(fnn);
	return 0;
}

以上的回调没有任何参数,其实还可以给回调函数传递参数,从调用函数外部传入,等博主研究明白再更新。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值