函数指针与回调函数

函数指针与回调函数

函数指针

函数指针是指向函数的指针变量。

通常我们说的指针变量是指向一个整型、字符型或数组等变量,而函数指针是指向函数。

函数指针可以像一般函数一样,用于调用函数、传递参数。

函数指针变量的声明:

typedef int (*fun_ptr)(int,int); // 声明一个指向同样参数、返回值的函数指针类型

eg:

#include<bits/stdc++.h>
using namespace std;
int max(int a, int b) {
    return a > b ? a : b;
}
int main() {
    int (*p)(int, int) = &max;
    int a = 2, b = 1, c = 3, d = 0;
    cout << p(a, b) << endl;
}

回调函数

回调函数是指函数指针作为某个函数的参数

函数指针变量可以作为某个函数的参数来使用的,回调函数就是一个通过函数指针调用的函数。

简单讲:回调函数是由别人的函数执行时调用你实现的函数。

#include<bits/stdc++.h>
using namespace std;
void populate_array(int *array, int arraySize, int (*getNextValue)(void)) {
    for (int i = 0; i < arraySize; i++)
        array[i] = getNextValue();
}

// 获取随机值
int getNextRandomValue(void) {
    return rand();
}

int main() {
    int myarray[10];
    populate_array(myarray, 10, getNextRandomValue);
    for(int i = 0; i < 10; i++) {
        printf("%d ", myarray[i]);
    }
    printf("\n");
    return 0;
}

来源:https://www.runoob.com/cprogramming/c-fun-pointer-callback.html

原文链接: https://www.cnblogs.com/buerdepepeqi/p/12293634.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍;

也有高质量的技术群,里面有嵌入式、搜广推等BAT大佬

    函数指针与回调函数

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/328600

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年3月1日 下午4:46
下一篇 2023年3月1日 下午4:46

相关推荐