函数指针 回调函数 指针数组

一 函数指针的用法

1.1 先自定义一个函数指针类型,注意它指向的函数的函数的参数和返回值必须与其一致, typedef int (*PFUN)(int a, int b)

1.2 定义一个函数指针变量并指向某一个函数 PFUN pfunc = functionA;// int functionA (int a, int b)

1.3 带参数调用: int c =pfun(3,4)

二 回调函数用法:将调用方与被调用方解耦,相当于对指针函数又封装了一层

2.1 定义回调函数: int  EXE(PFUN pfunc,int X,int Y) {return pfunc(X,Y)}// 或者直接定义回调函数 int  EXE(int (*pfunc)(int a, int b),int X,int Y){ return pfunc(X,Y); }

2.2 调用回调函数  int c=EXE(functionA,3,4);

三 指针数组:

3.1 定义指针数组 int (*parry[])()={functionA,functionB,functionC...}

3.2 调用:

  for(int i=0;i<n;i++)

     {

    parry[i]();//参数没法单独传入,只能适应于无参数无返回值的函数

     }

原文地址:https://www.cnblogs.com/jieruishu/p/5673362.html