> 文章列表 > 函数指针与指针函数有什么区别

函数指针与指针函数有什么区别

函数指针与指针函数有什么区别

函数指针和指针函数是两个完全不同的概念,它们的主要区别在于:

1. **本质不同** :

- **函数指针** :是指向函数的指针变量,它存储的是一个函数的地址,可以通过这个指针来调用该函数。

- **指针函数** :是返回指针的函数,即这个函数执行完毕后返回一个指针值。

2. **声明方式不同** :

- **函数指针** :声明形式为 `return_type (*pointer_name)(parameters)`。

- **指针函数** :声明形式为 `return_type *function_name(parameters)`。

3. **用途不同** :

- **函数指针** :通常用于实现回调函数、动态链接库等功能,可以将一个函数作为参数传递给另一个函数或在运行时动态加载某个函数。

- **指针函数** :主要用于返回一个指针类型的值,例如返回数组或结构体等。

4. **调用方式不同** :

- **函数指针** :需要先将其初始化为某个具体的函数,然后通过指针调用该函数。

- **指针函数** :可以直接通过函数名进行调用。

5. **返回值类型不同** :

- **函数指针** :其返回值类型必须与所指向的具体函数完全一致。

- **指针函数** :可以根据需要设定任意的返回值类型。

理解这两个概念的区别对于编写和使用C/C++等编程语言非常重要,因为它们各自适用于不同的情况和需求

其他小伙伴的相似问题:

函数指针如何实现回调函数?

指针函数在C++中的实际应用案例

如何区分行指针和列指针?