指向函数的指针

程序编译后,每个函数都有执行第一条指令的地址即首地址,称为函数指针。函数指针即指向函数的指针变量,要间接调用函数可以使用指针变量来实现。

int(*pf)(int, int);

通过将pf与括号中的“ * ”强制组合组合在一起,表示定义的pf是一个指针,然后与下面的“ ( ) ”再次组合,表示的是该指针指向一个函数,括号里表示为int类型的参数,最后与前面的int组合,此处int表示该函数的返回值。因此,pf是指向函数的指针,该函数的返回值为int。函数指针与返回指针的函数的含义大不相同。函数指针本身是一个指向函数的指针。指针函数本身是一个返回值为指针的函数。

float(*p)(float x,float y);定义了一个指向函数的指针变量。首先c=(*p)(a,b);语句:因为指针p储存的是max函数的首地址,(*p)(a,b) 就相当于 max(a,b),函数返回较大值。其次c=(*p)(a,b);语句:因为指针p储存的是 min函数的首地址,(*p)(a,b) 也就相当于min(a,b),函数返回较小值

版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《指向函数的指针》
文章链接:https://zhuji.vsping.com/4085.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。