函数指针 与 指针函数

来源:互联网 发布:新浪微博数据抓取 编辑:程序博客网 时间:2024/05/17 07:41

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

函数指针

指针函数

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

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

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

 

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

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

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
原创粉丝点击