函数指针的声明和定义
#include <stdio.h>
// 声明一个函数指针类型
typedef int (*MathOperation)(int, int);
// 定义两个函数
int add(int a, int b) {
return a + b;
}
int subtract(int a, int b) {
return a - b;
}
int main() {
// 声明和初始化函数指针变量
MathOperation operation;
// 将函数指针指向 add 函数
operation = add;
// 调用函数指针
int result = operation(5, 3);
printf("Result: %d\n", result);
// 将函数指针指向 subtract 函数
operation = subtract;
// 再次调用函数指针
result = operation(5, 3);
printf("Result: %d\n", result);
return 0;
}
回调函数
在C语言中,回调函数是通过函数指针作为参数传递给其他函数,以便在特定事件发生时调用。以下是一个简单的回调函数的例子:
#include <stdio.h>
// 定义回调函数类型
typedef void (*CallbackFunction)(int);
// 接受回调函数作为参数的函数
void performOperation(int a, int b, CallbackFunction callback) {
int result = a + b;
// 调用回调函数
callback(result);
}
// 回调函数的实现
void displayResult(int result) {
printf("Result is: %d\n", result);
}
int main() {
// 将回调函数作为参数传递给 performOperation 函数
performOperation(5, 3, displayResult);
return 0;
}
在这个例子中,performOperation 函数接受两个整数和一个回调函数作为参数,然后在计算结果后调用回调函数。displayResult 函数是回调函数,用于显示计算结果。
函数指针和回调函数在C语言中常用于实现灵活的程序结构,尤其是在涉及到事件处理、回调机制等方面。
转载请注明出处:http://www.zyzy.cn/article/detail/13525/C 语言