C语言中的函数指针可以用来存储函数的地址,并且可以像普通函数一样调用函数。
以下是函数指针的基本使用方法:
returnType (*pointerName)(parameterType);
例如:
int (*add)(int, int); // 声明一个指向返回值为int,参数为两个int的函数的指针变量add
pointerName = &functionName;
例如:
add = ∑ // 将函数sum的地址赋给函数指针变量add
returnType result = pointerName(arguments);
例如:
int result = add(1, 2); // 调用函数指针变量add所指向的函数,并传递参数1和2
完整示例代码如下:
#include <stdio.h>
int sum(int a, int b) {
return a + b;
}
int main() {
int (*add)(int, int); // 声明一个指向返回值为int,参数为两个int的函数的指针变量add
add = ∑ // 将函数sum的地址赋给函数指针变量add
int result = add(1, 2); // 调用函数指针变量add所指向的函数,并传递参数1和2
printf("Result: %d\n", result); // 输出结果:Result: 3
return 0;
}
注意:函数指针的类型必须与所指向的函数的类型保持一致,即返回值类型和参数类型必须一致。在声明函数指针变量时,需要注意使用小括号将*pointerName
括起来,以区分指针变量和普通函数的声明。