函数指针和指针函数
时间: 2023-06-29 09:06:28 浏览: 69
函数指针和指针函数是两个不同的概念。
函数指针是指指向函数的指针变量,它可以存储函数的地址,从而使得可以通过该指针变量调用该函数。简单来说,函数指针就是一个指向函数的指针,可以像调用函数一样使用它。
指针函数是指返回指针类型的函数,它的返回值是一个指针类型的值。简单来说,指针函数就是一个返回指针类型的函数,可以返回一个指针。
下面是一个函数指针和指针函数的示例代码:
```c
#include <stdio.h>
int add(int a, int b) {
return a + b;
}
int (*func_ptr)(int, int); // 声明一个函数指针变量
int* func() { // 声明一个指针函数
int* p = NULL;
p = (int*)malloc(sizeof(int));
*p = 10;
return p;
}
int main() {
func_ptr = add; // 将函数 add 的地址赋值给函数指针变量
int sum = func_ptr(1, 2); // 通过函数指针变量调用函数 add
printf("sum = %d\n", sum);
int* p = NULL;
p = func(); // 调用指针函数
printf("*p = %d\n", *p);
free(p);
return 0;
}
```