回调函数仅仅就是一种说法,“回调函数”这个称呼,把名称和调用行为杂糅,把名词和动词杂糅使用,跟所谓"套接字”的翻译一样,纯粹是为了混淆学习者视听的傻13行为,他的语文可能是体育老师教的。
它主要是使用了函数指针的方式,把函数丢进了形参里面,方便对参数进行变化。然后在实现里面,调用形参里这个被丢进去的函数(形参是个函数指针)。说白了就是用函数指针当参数来传函数当参数,在实现里面调用被传的函数。就是传函数指针作参数,并调用它。
它一般包括这么3个部分:
//定义回调函数 void PrintfText() { printf("Hello World!\n"); } //定义实现回调函数的"调用函数" void CallPrintfText(void (*callfuct)()) { callfuct(); } //实现函数回调 int main(int argc,char* argv[]) { CallPrintfText(PrintfText); return 0; }