指针函数:一个函数的返回值是地址的函数;
<数据结构> *<函数名称>(<参数说明>)
{
语句序列;
}
在函数名称前的*号,说明函数返回一个地址变量;
例如:char *inversestring(char *pstr);
函数指针:用来存放函数的地址,一个函数的入口地址,是函数调用时使用的起始地址。
<数据类型> (*<函数指针名称>) (<参数说明列表>);
(*<函数指针名称>)中,*说明为指针()不可缺省,表明为函数的指针。
#include
int test(int a, int b, int (*pFunt)(int m,int n));
int Plus(int a,int b); //函数说明
int Minus(int , int ); //函数说明,缺省形式参数名称
int main()
{ int x=5, y=8;
int (* pFunc)(int a, int b); //说明一个名称为pFunc的函数指针
pFunc=Plus; //把函数Plus的地址赋给函数指针pFunc;
printf(“%dn”,(*pFunc)(x,y));
pFunc=Minus; //把函数Minus的地址赋给函数指针 pFunc;
printf(“%dn”,(*pFunc)(x,y));
printf(“%dn”, test(15,5,Plus) ); //把函数Plus作为实参调用test
printf(“%dn”, test(15,5,Minus) );//把函数Minus作为实参调用test
}
函数指针数组:一个保存若干个函数名的数组;
<数据类型> ( * <函数指针数组名称>[<大小>]) ( <参数说明表>);
递归函数:一个函数的函数体中,直接或间接调用该函数自身的函数;
递归函数执行过程:递推阶段、回归阶段
标准函数:运行库函数,供编程人员使用;
还没有评论,来说两句吧...