指针函数与函数指针的例子
时间: 2023-10-21 13:23:42 浏览: 111
函数指针的范例
当谈到指针函数和函数指针时,它们可能会听起来相似,但实际上是不同的概念。下面是它们的例子:
1. 指针函数(Pointer Function):
```c++
int* multiply(int a, int b) {
int result = a * b;
return &result;
}
```
在上面的例子中,`multiply` 是一个指针函数。它接受两个整数参数 `a` 和 `b`,将它们相乘得到结果,并返回结果的地址。请注意,由于 `result` 是在函数内部定义的局部变量,当函数返回时,其内存空间将被释放,因此返回指向 `result` 的指针可能会导致未定义行为。
2. 函数指针(Function Pointer):
```c++
int add(int a, int b) {
return a + b;
}
int subtract(int a, int b) {
return a - b;
}
int calculate(int (*operation)(int, int), int a, int b) {
return operation(a, b);
}
```
在上面的例子中,`calculate` 是一个函数,它接受一个函数指针 `operation` 作为参数,以及两个整数 `a` 和 `b`。`operation` 指向一个函数,接受两个整数参数并返回一个整数结果。在 `calculate` 函数中,我们通过调用 `operation(a, b)` 来执行具体的操作。通过传递不同的函数指针,我们可以实现不同的操作,例如加法或减法。
希望以上例子能够帮助你理解指针函数和函数指针之间的区别和用法。如果还有其他问题,请随时提问!
阅读全文