本文共 673 字,大约阅读时间需要 2 分钟。
函数指针
函数指针:指向函数的指针变量
声明函数指针变量格式:
<返回值>(*<指针变量名称>)(<参数类型>)
示例:
int sum(int x,int y) { return x + y;}//main函数内执行int (*p_sum)(int,int);//函数指针变量声明p_sum = sum;printf("%d",p_sum(1,2));
void类型无参函数示例:
sayHello(){ printf("HELLO");}//main函数内执行void (*p_sayHello)();//或者void(*p_sayHello)(void)//调用函数指针p_sayHello();
类似Kotlin这种函数式编程语言,很像这种函数指针的操作,可以将函数赋值给变量;Kotlin可以用函数作为回调函数,而C语言也可以做到
回调函数
callBack函数作为sum函数的实参,sum函数内部处理完数据后调用函数指针(p_callback),将数据返回出去,一般回调函数是有参数的
示例:
#includevoid sum(int x, int y, void(*p_callback)(int)) { //处理数据 int r = x + y; //将结果回调出去 p_callback(r);}//回调函数void callBack(int r) { //打印回调回来的数据 printf("结果值为 :%d", r);}int main() { sum(1, 2, callBack); return 0;}
转载地址:http://ypbj.baihongyu.com/