函数指针

来源:互联网 发布:linux创建多级文件夹 编辑:程序博客网 时间:2024/06/05 21:10

指向函数的指针

用指向函数的指针调用函数

可以用指针变量指向整数类型,字符类型,数组等,也可以指向函数。一个函数在编译时候被分配一个入口地址。这个函数的入口地址被称为函数的指针。可以用一个指针变量指向函数。
下面提供两种写法:
第一种

#include <iostream>using namespace std;int add(int x, int y);int sub(int x, int y);int process(int x, int y, int (*pfunction)(int, int));int main(){    cout << process(1,2,&add);    cout << process(1,2,&sub);    return 1;}int add(int x, int y){    return x+y;}int sub(int x, int y){    return x-y;}int process(int x, int y, int (*pfunction)(int, int)){    return (*pfunction)(x,y);}

第二种:通过使用typedef int (*function)(int, int);定义了function 为一种函数指针类型。

#include <iostream>using namespace std;typedef int (*function)(int, int);int add(int x, int y);int sub(int x, int y);int process(int x, int y, function pfunction);int main(){    cout << process(1, 2, &add) << endl;    cout << process(1, 2, &sub) << endl;    system("pause");    return 1;}int add(int x, int y){    return x + y;}int sub(int x, int y){    return x - y;}int process(int x, int y, function pfunction){    return (*pfunction)(x, y);}

运行结果:3,-1

0 0
原创粉丝点击