c中用指向函数的指针作函数参数
时间: 2024-05-18 18:07:44 浏览: 15
C语言中,可以使用指向函数的指针作为函数参数,这种指针被称为函数指针。函数指针可以像普通指针一样进行传递和操作,它可以指向一个函数的入口地址,从而实现对该函数的调用。
下面是一个简单的例子,演示了如何在C语言中使用指向函数的指针作为函数参数:
```c
#include <stdio.h>
// 声明一个函数指针类型
typedef int (*FuncPtr)(int, int);
// 定义一个加法函数
int add(int a, int b) {
return a + b;
}
// 定义一个减法函数
int sub(int a, int b) {
return a - b;
}
// 定义一个函数,接受一个函数指针作为参数
void calc(FuncPtr func, int a, int b) {
int result = func(a, b);
printf("Result: %d\n", result);
}
int main() {
int a = 10, b = 5;
// 使用加法函数指针调用calc函数
calc(add, a, b);
// 使用减法函数指针调用calc函数
calc(sub, a, b);
return 0;
}
```
在上面的例子中,我们首先定义了一个函数指针类型`FuncPtr`,它可以指向一个入参为两个整型参数,返回值为整型的函数。然后我们定义了两个函数`add`和`sub`,它们分别实现了加法和减法运算。接着我们定义了一个`calc`函数,它接受一个函数指针作为参数,以及两个整型参数`a`和`b`。在`calc`函数中,我们通过函数指针调用了传入的函数,并输出了结果。最后在`main`函数中,我们分别使用加法函数指针和减法函数指针调用了`calc`函数。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)