C语言:回调函数
回调函数:通过函数指针调用的函数
我认为,回调函数是一个过程,而这里却是说是一个函数。
我利用自己的理解,解释一下回调函数这个东西:存在一个函数a和函数b,函数a的形参是一个函数指针,如果此时,b的地址传递给a的形参,参与a函数的运算,此时就叫做回调函数.
一.例题理解
利用回调函数,实现输入两个数组字,通过创建符号选项的函数,返回得到的值。例如:1 2 使用加法
得到3
我们可以看到,创建了int add(int a, int b)函数 以及 int calc(int (*p)(int, int), int a, int b)函数,可以看到calc的函数参数中,有一个函数指针变量的形参。
而后,在main函数中调用了calc函数,我们知道,add函数名,是add函数的地址,所以在给calc函数传参的时候,传给calc的函数指针的形参部分是add函数的地址。
再看calc函数,我们调用了传来的函数指针,也就是调用了add函数。
所以,这样就完成了回调函数。
C语言函数:qsort()函数_srhqwe的博客-CSDN博客:qsort函数是很典型的回调函数案例。
如果有错,希望纠错!