什么是函数指针和指针函数
时间: 2024-06-22 19:03:13 浏览: 97
函数指针和指针函数是计算机编程中两个密切相关但概念略有区别的概念,它们在C/C++等支持指针的语言中起着重要作用。
1. 函数指针:函数指针是一个变量,它存储了一个函数的地址。换句话说,它是一个指向函数的指针,可以看作是一个函数的引用。通过函数指针,你可以将一个具体的函数作为参数传递给另一个函数,或者用它来调用那个函数。例如:
```c
void (*func_ptr)(int, int); // 声明一个接受两个整数并返回void的函数指针
func_ptr = add; // 将add函数的地址赋值给func_ptr
(*func_ptr)(2, 3); // 通过func_ptr调用add函数
```
2. 指针函数:指针函数是指定义为`*return_type func_name(pointer_type arg)`形式的函数,这里的`pointer_type`可以是任何类型的指针,如`int*`。这意味着函数接受一个指针作为参数,并可能通过指针操作来处理数据。比如:
```c
int (*ptr_func)(int*); // 定义一个接受一个整数指针并返回int的指针函数
int value = 10;
int result = ptr_func(&value); // 通过指针调用函数,修改并返回指针所指向的值
```
阅读全文