c语言编写一个函数指针,分别指向int add(int ,int ),int sub(int,int),在主函数中调用。不使用typedef int结构
时间: 2024-12-06 13:22:51 浏览: 54
在C语言中,你可以直接定义一个函数指针变量,然后给它赋值为对应的函数地址。这里是一个例子,我们将定义一个指向两个整数相加和相减函数的指针,并在主函数中调用它们:
#include <stdio.h>
// 定义函数原型
int add(int a, int b);
int sub(int a, int b);
// 函数指针类型声明
typedef int (*Operation)(int, int);
// 定义函数
int add(int a, int b) {
return a + b;
}
int sub(int a, int b) {
return a - b;
}
// 主函数
int main() {
// 函数指针变量
Operation operation;
// 分别赋值给add和sub函数的地址
operation = add; // 指向add函数
printf("Addition: %d\n", operation(5, 3)); // 输出8
operation = sub; // 现指向sub函数
printf("Subtraction: %d\n", operation(5, 3)); // 输出2
return 0;
}
在这个示例中,Operation
是一个函数指针类型,add
和 sub
是实参函数。在 main
函数中,我们首先定义了一个 operation
变量并将其初始化为 add
的地址,之后再改变其指向为 sub
函数。
相关推荐


















