C语言函数指针的使用举例
时间: 2024-09-09 10:03:47 浏览: 50
C语言中的函数指针是一种特殊的指针类型,它存储的是函数的地址,允许我们在程序运行时动态地将函数作为参数传递或者通过指针调用另一个函数。下面是一个简单的例子:
```c
#include <stdio.h>
// 定义两个整数相加的函数
int add(int a, int b) {
return a + b;
}
// 另一个函数,用于演示函数指针
void print_sum(int (*func)(int, int), int x, int y) {
printf("The sum of %d and %d is: %d\n", x, y, func(x, y));
}
int main() {
// 函数指针声明
int (*sum_ptr)(int, int) = &add; // 存储add函数的地址
// 使用函数指针
print_sum(sum_ptr, 5, 7); // 输出 "The sum of 5 and 7 is: 12"
// 动态调用
int another_add(int a, int b) { return a * b; }
print_sum(another_add, 2, 3); // 输出 "The sum of 2 and 3 is: 6" (实际上这里是乘法)
return 0;
}
```
在这个例子中,`print_sum`函数接受一个指向两个整数相加函数的指针,并利用这个指针调用实际的函数。在`main`函数里,我们首先声明了一个名为`sum_ptr`的函数指针,并将其设置为`add`函数的地址。然后,我们既可以传入`add`函数,也可以传入`another_add`函数,实现了函数指针的灵活性。
阅读全文