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
完整示例代码如下:
#includeint 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
括起来,以区分指针变量和普通函数的声明。