C语言如何实现一个函数指针的参数是函数指针,举例说明
时间: 2024-01-11 10:22:13 浏览: 28
C语言中实现一个函数指针的参数是函数指针的方法如下所示:
```c
#include <stdio.h>
// 定义一个返回整型值的函数
int add(int a, int b) {
return a + b;
}
// 定义一个函数指针类型
typedef int (*FuncPtr)(int, int);
// 定义一个函数,参数是函数指针
void calculate(FuncPtr func, int a, int b) {
int result = func(a, b);
printf("Result: %d\n", result);
}
int main() {
// 声明一个函数指针变量,并将其指向add函数
FuncPtr ptr = add;
// 调用calculate函数,将函数指针作为参数传递
calculate(ptr, 3, 4);
return 0;
}
```
在上面的例子中,我们首先定义了一个返回整型值的函数`add`。然后,我们使用`typedef`关键字定义了一个函数针类型`FuncPtr`,该函数指针类型指向一个返回整型值函数。接下来,我们定义了一个名为`calculate`的函数,它的第一个参数是一个函数指针,用于接收一个函数作为参数。在`main`函数中,我们声明了一个函数指针变量`ptr`,并将其指向`add`函数。最后,我们调用`calculate`函数,将函数指针作为参数传递,并传递了两个整型值3和4。`calculate`函数内部通过调用函数指针来执行相应的函数,并打印出结果。