c语言指针函数的调用 在C 中函数指针有什么作用呢,为什么不直接调用函数而要使用函数指针?
浏览量:1244
时间:2021-03-18 06:50:40
作者:admin
在C 中函数指针有什么作用呢,为什么不直接调用函数而要使用函数指针?
可用作回调函数。只需将函数指针作为参数传递给另一个函数,另一个函数就可以在执行期间或执行之后通过该指针调用预置的用户函数。
如何调用指针函数?
如果有函数指针P,请使用*P获取函数指针的值,然后添加要调用的参数列表。即RET=(*P)(ARG)例如,如果P是int(*)(int)类型的函数指针,那么inta=(*P)(10)是典型的函数指针调用。
函数指针怎么调用?
通常需要定义一个函数指针类型
typedef int(*function)upointer )(int arg1,int arg2)
然后,定义函数指针变量
functionupointer fpuinvoker=0
函数指针可以动态更改内容和调用对象,假设有两个函数
int functionusum(int arg1,int arg2){return arg1 arg2}int functionusub(int arg1,int arg2){return arg1-arg2}
注意这两个函数的原型与函数指针类型是一致的。这里是对
FPuinvoker=functionusum//的调用,直接用函数名uinvoker(1,2)//赋值调用时,可以认为函数指针就是函数名,然后调用add FPuinvoker=functionusub//同样,切换到减法FPuinvoker(1,2) //调用减法
以上都是直观用法。一般来说,函数指针用于回调,即下级函数先保存函数指针的内容,处理后再调用。此时,应首先检查函数指针内容是否为空。
if(fp_u2;invoker){fp_2;invoker(arg1,arg2)}
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。