函数指针以及回调函数的应用
一、什么是函数指针;
指针是指向某一片内存空间的地址值,函数指针指的是指向函数初始访问地址的指针,我们可以通过这个函数指针来访问或者说调用该函数。相关代码解析如下:
int *max(int a,int b) { int c; if(a>b) { c=a; a=b; b=c; } printf("%d",a); return 0; } int main() { int *fun = &max;//通过指针来调用该函数 fun(1,2); return 0; }
二、什么是回调函数;:
回调函数有三层函数,主函数里面的回调接口,一层是回调函数原型,还有一层是执行函数;相关代码如下:
int callback() //回调函数原型 { func();//执行函数 return 0; } int main() { Library(callback);回调函数调用 return 0; } void LIbrary(&fun) { int *func= &fun; func(); }
回调函数的作用,我们通过接口调用某一个函数的时候可以通过回调函数来 调用一个函数,也就是调用不用的函数,只需要用一个回调函数即可,通过传递参数的形式来调用不同函数,主程序把回调函数像参数一样传入库函数。这样一来,只要我们改变传进库函数的参数,就可以实现不同的功能,极大地方便我们对工程代码进行解耦。