函数指针和指针函数c++
时间: 2023-08-26 18:16:24 浏览: 111
函数指针和指针函数是C++中的两个不同的概念。
函数指针是指向函数的指针变量。它可以存储函数的地址,并且可以通过该指针调用相应的函数。函数指针的声明方式为:`返回类型 (*指针变量名)(参数类型1, 参数类型2, ...)`。下面是一个函数指针的示例:
```cpp
int add(int a, int b) {
return a + b;
}
int main() {
int (*funcPtr)(int, int); // 声明一个函数指针变量
funcPtr = add; // 将函数的地址赋给函数指针
int result = funcPtr(5, 3); // 通过函数指针调用函数
return 0;
}
```
指针函数是返回指针的函数。它的返回类型是一个指针,该指针可以指向任何类型的数据。指针函数的声明方式为:`返回类型 (*函数名)(参数类型1, 参数类型2, ...)`。下面是一个指针函数的示例:
```cpp
int* createArray(int size) {
int* arr = new int[size];
// 初始化数组...
return arr;
}
int main() {
int* (*funcPtr)(int); // 声明一个返回指针的函数指针变量
funcPtr = createArray; // 将指针函数的地址赋给函数指针
int* arr = funcPtr(10); // 通过函数指针调用指针函数
delete[] arr; // 释放内存
return 0;
}
```
注意函数指针和指针函数是不同的概念,虽然它们的声明方式相似。函数指针是指向函数的指针变量,而指针函数是返回指针的函数。
阅读全文