02. 函数指针

1. 定义

函数指针是指向函数的指针变量。所以“函数指针”本身首先应是指针变量,该指针变量指向函数。
函数指针是指向函数的指针变量,本质是一个指针。而指针函数是返回值为指针的一个函数,本质是一个函数。

2.声明方法

返回值类型 (*指针变量名) (形参列表);


int func(int x); //声明一个函数 
int (*f) (int x); //声明一个函数指针 
f=func; //将func函数的首地址赋给指针f

3. 实例

#include <stdio.h>
  
int add(int x, int y);
int sub(int x, int y);
  
struct ptr {
    int (*pTrAdd) (int x, int y);
    int (*pTrSub) (int x, int y);
};
  
int main() {
    struct ptr pTr;
    pTr.pTrAdd = add;
    pTr.pTrSub = sub;
    printf("%d, %d", pTr.pTrAdd(1, 2), pTr.pTrSub(2, 1));
    return 0;
}
  
int add(int a, int b) {
    return a + b;
}
  
int sub(int a, int b) {
    return a - b;
}

4. typedef和函数指针

https://blog.csdn.net/afei__/article/details/82011613

posted @ 2024-10-13 15:57  yyyyyllll  阅读(42)  评论(0)    收藏  举报