(一)概念
指针函数与函数指针,这两个概念很容易混淆,现在就好好梳理一下!
指针函数:返回指针的函数
函数指针:指向函数的指针
指针函数,落脚点在函数,函数一般有返回值,所以称作:返回指针的函数,本质上是函数。
函数指针,落脚点在指针,指针一般有指向,所以称作:指向函数的指针,本质上是指针。
(二)用法
(1)指针函数
形式:类型标识符 * 函数名(参数列表)
例子:int* fun( int , int ); // 声明一个函数,函数的返回值是 int*
(2)函数指针
形式:类型标识符 (* 指针变量名)(参数列表)
例子:int (* ptr) (int , int ) ;// 声明一个指针ptr, ptr是一个指向函数的指针
这两者的用法非常相似,如何分辨指针函数与函数指针呢?
就看 * 与后面的标识符是否在一个括号中。
不在一个括号中,后面的标识符就是一个函数名,这就是一个指针函数;
在一个括号中,后面的标识符就是一个指针变量名,这就是一个函数指针。