失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 函数指针 注册函数 回调函数

函数指针 注册函数 回调函数

时间:2019-05-27 16:12:26

相关推荐

函数指针 注册函数 回调函数

当程序中,某个功能不定时,就用函数指针代表该功能,使用时,需要函数实现什么功能,则将需要实现功能的函数赋值给函数指针,则函数指针出现的地方就能按挂接的回调函数(需要的功能函数)执行,而挂接赋值的过程可以用注册函数来实现。

函数指针通常用全局变量来指定。

例如有max(a,b),min(a,b), 开始时不定用哪个函数,则可以用函数指针全局变量unsigned int* g_func(a,b)来代替,

如:

Int (* g_func)(int a, int b) = NULL;

Int max(int a,int b);

Int min(int a,int b);

main()

{

g_func = max;

g_func(a,b); /*相当于执行max(a,b)*/

}

Max和min两个函数称为钩子函数或回调函数;

在写main函数时不知道要完成什么功能 ,则用函数指针作为接口,可以挂上不同的函数完成不同的功能;

注册函数:将钩子函数挂在已声明的全局变量函数指针上;注册函数的入参为函数指针

Install(int (*p)())

{

p = max;

}

Install(g_func)即代表g_func = max;

如果觉得《函数指针 注册函数 回调函数》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。