c语言指针函数和函数指针
时间: 2023-08-14 19:14:12 浏览: 128
C语言中的指针函数和函数指针是两个不同的概念。
指针函数是指返回类型为指针的函数。它的声明和定义中包含一个指针类型的返回值。例如,下面是一个返回指向整数的指针的函数的示例:
```c
int* getPointer() {
int* ptr = malloc(sizeof(int));
*ptr = 10;
return ptr;
}
```
在这个例子中,`getPointer` 函数返回一个指向整数的指针。
函数指针是指向函数的指针变量。它可以用来存储函数的地址,并且可以通过该指针变量调用函数。函数指针的声明包括函数的返回类型和参数类型。下面是一个使用函数指针调用函数的示例:
```c
#include <stdio.h>
int add(int a, int b) {
return a + b;
}
int main() {
int (*funcPtr)(int, int); // 声明一个函数指针变量
funcPtr = &add; // 将函数的地址赋值给函数指针
int result = funcPtr(2, 3); // 通过函数指针调用函数
printf("Result: %d\n", result);
return 0;
}
```
在这个例子中,我们声明了一个函数指针变量 `funcPtr`,并将 `add` 函数的地址赋值给它。然后,我们通过函数指针调用 `add` 函数,得到结果并打印出来。
总结起来,指针函数是返回指针类型的函数,而函数指针是指向函数的指针变量,可以用于调用函数。
阅读全文