函数指针
1.什么是函数指针?
函数指针是指向函数的指针,它存储函数的地址,可以通过这个指针调用函数。函数指针的主要用途包括回调机制、动态选择函数和提高程序灵活性。
2.函数指针的基本用法
声明函数指针
返回类型 (*指针名)(参数类型列表);
例如,声明一个指向返回 int
且接受两个 int
参数的函数指针:
int (*funcPtr)(int, int);
赋值函数地址
将函数的地址赋值给函数指针:
int add(int a, int b) {
return a + b;
}
funcPtr = add; // 将函数地址赋值给指针
调用函数
通过函数指针调用函数:
int result = funcPtr(5, 3); // 等价于 add(5, 3)
示例代码
#include <iostream>
using namespace std;
// 定义两个函数
int add(int a, int b) {
return a + b;
}
int subtract(int a, int b) {
return a - b;
}
// 定义一个函数,接收函数指针作为参数
void operate(int x, int y, int (*operation)(int, int)) {
cout << "Result: " << operation(x, y) << endl;
}
int main() {
// 定义函数指针
int (*funcPtr)(int, int) = nullptr;
// 指向不同的函数
funcPtr = add;
cout << "Add: " << funcPtr(10, 5) << endl;
funcPtr = subtract;
cout << "Subtract: " << funcPtr(10, 5) << endl;
// 使用函数指针作为参数
operate(10, 5, add);
operate(10, 5, subtract);
return 0;
}
输出结果
Add: 15
Subtract: 5
Result: 15
Result: 5
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 LumosCode
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果