C语言中怎么将一个函数放到一个变量里
时间: 2024-09-27 11:09:26 浏览: 33
c代码-C语言编写一个函数,将一个字符串中的元音字母复制到另一字符串,然后输出
在C语言中,并不能直接将一个函数作为变量存储,因为C是一种静态类型的编程语言,它并不支持函数作为第一级的数据类型。但是,你可以通过指针或函数指针来间接达到类似的效果。函数指针是一个变量,它可以存储指向某个特定函数的地址。
下面是一个简单的例子,展示如何使用函数指针:
```c
#include <stdio.h>
// 定义两个函数,用于演示
int add(int a, int b) {
return a + b;
}
double subtract(double a, double b) {
return a - b;
}
// 函数指针声明
typedef int (*func_ptr)(int, int); // 对整数加法函数的指针声明
typedef double (*func_ptr2)(double, double); // 对双精度减法函数的指针声明
int main() {
// 分别获取两个函数的地址并赋值给函数指针
func_ptr add_func = add;
func_ptr2 sub_func = subtract;
// 现在你可以像操作普通变量一样操作函数指针
int result1 = add_func(5, 3); // 输出8
double result2 = sub_func(10.0, 2.0); // 输出8.0
printf("Add: %d, Subtract: %.1f\n", result1, result2);
return 0;
}
```
在这个例子中,`add_func` 和 `sub_func` 就像是包含了函数信息的变量。它们可以存储对应函数的地址,并在其后调用。
阅读全文