函数指针



#include <iostream>
using namespace std;

//函数的第一个参数表示为指向形式为 int (函数名)(int a, int b)的函数指针
int abc(int (*p)(int x, int y), int a, int b)
{
	return p(a, b);
}



int getMax(int a, int b)
{
	if (a > b)
		return a;
	return b;
}

int getMin(int a, int b)
{
	if (a > b)
		return b;
	return a;
}

//返回值为函数指针,
//返回值为形式为:int(*p)(int x, int y)的函数指针
//参数为int(*p)(int x, int y), int a, int b
//分别表示函数指针,变量a,变量b
//假设int(*p)(int x, int y)定义为X;
//那么函数就被简化成了 X func(X, int a, int b)
int(*func(int(*p)(int x, int y), int a, int b))(int m, int n)
{
	int(*pFu)(int x, int y);
	pFu = getMin;
	return pFu;
}

//返回值为 int *
//返回值为指针的函数
int *fun1(int a, int b)
{
}

int main()
{
	//定义了一个指向 int (函数名)(int a, int b)形式函数的  函数指针
	int*(*fun2)(int a, int b);
	fun2 = fun1;

	int x = abc(getMax, 10, 3);
	cout << x << endl;
	cout << func(getMax, 10, 2)(10, 20) << endl;
	return 0;
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

空空的司马

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值