回调函数

非 Y 不嫁゛ 提交于 2019-11-29 06:50:49

回调函数的概念(转自百度百科):

回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,我们就说这是回调函数。回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应。

回调函数机制: 
1、定义一个函数(普通函数即可); 
2、将此函数的地址注册给调用者; 
3、特定的事件或条件发生时,调用者使用函数指针调用回调函数。 

#include <stdio.h>
// 类型重定义:函数指针类型
typedef int(*callback)(int,int);

// 调用者
int call(int a,int b,callback p){
    return (*p)(a,b);
}

// 回调函数
int add(int a,int b){
    return a+b;
}

// 主函数
int main(int argc,char *args[]){
    int res = call(4,2,add);
    printf("%d\n",res);
    return 0;
}

注(函数指针的用法): 返回类型(*函数名)(参数表)

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!