嵌入式之函数指针和回调函数

概念

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

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

函数指针的定义方式为:

函数返回值类型 (* 指针变量名) (函数参数列表);
int (*p)(int a, int b)

作用

一是可以作为参数传递给另一个函数;回调函数:将一个函数指针作为参数传递给其它函数。后者将“回调”用户函数。
关于typedef 函数指针的用法


int add(int a, int b) {
    return a + b;
}

typedef int (PTypeFun1)(int, int); // 声明一个函数类型
typedef int (*PTypeFun2)(int, int); // 声明一个函数指针类型  PtypeFun2变成了类型
int (*padd)(int, int); // 传统形式,定义一个函数指针变量 ,这里只是一个指针

int main() {
    PTypeFun1 *pTypeAdd1 = add;
    PTypeFun2 pTypeAdd2 = add;
    padd = add;
    cout << pTypeAdd1(1, 2) << endl;
    cout << pTypeAdd2(1, 2) << endl;
    cout << padd(1, 2) << endl;
    return 0;

实例: 函数指针
image

posted @ 2024-03-04 14:41  学不会xuebuhui  阅读(40)  评论(0编辑  收藏  举报
Language: javascript