函数指针 与 指针函数

首先来比较一下 函数指针 和 指针函数

函数指针

指针函数

定义:指向函数的指针变量

定义:返回值类型为指针的函数

作用:主要用作调用函数和做函数的参数

 

语法:数据类型(*指针变量名)(参数表)

语法:数据类型 *函数名(参数表)

int (*p)(int a, int b); //p是一个指向函数的指针变量,所指函数的返回类型为整型

int *p(int a, int b); //p 是函数名,此函数的返回值类型为整型指针


由此看来,指针函数就是所谓的函数,只不过,其返回类型为指针类型。


那么我们着重来看一下函数指针,简单的列举一个例子:

int max(int a, int b)
{
	return a > b ? a : b;
}

int min(int a, int b)
{
	return a > b ? b : a;
}

int ave(int a, int b)
{
	return (a + b) / 2;
}

int processer(int x, int y, int(*p)(int a, int b))
{
	return p(x, y);
}

int _tmain(int argc, _TCHAR* argv[])
{
	int a, b;
	cin >> a >> b;

	cout << "compare a with b, max = " << processer(a, b, max) << endl;
	cout << "compare a with b, min = " << processer(a, b, min) << endl;
	cout << "the average a and b is, average = " << processer(a, b, ave) << endl;

	return 0;
}


在设计程序时,我们经常会碰到一下像 UI 中的button 在不同的弹出情况下,button 做出不同的点击响应信息,在这种情况下,我们可以通过函数指针传参,在各个响应类中实现对应类型的函数就可以。。。其他的使用方式,就活学活用,见招拆招吧!!!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值