1.指针函数与函数指针的区别
(1)指针函数:一个返回类型是某一类型指针的函数,本质是函数。
(2)函数指针:指向函数的指针变量,本质是指针。每一个函数都有一个入口地址,该入口地址就是函数指针所指向的地址。有了指向函数的指针变量后,可用该指针变量调用函数,同用指针变量可引用其他类型变量一样。
函数指针有两个用途:一是直接调用函数,二是做函数的参数(可以理解为提供回调接口,是间接调用)。
函数指针的声明方法:返回值类型 ( * 名) ([列表]);“返回值类型”说明函数的返回类型,“(指针变量名 )”中的括号不能省,括号改变了运算符的优先级。若省略整体则成为一个函数说明,说明了
一个返回的数据类型是指针的函数,后面的“形参列表”表示指针变量指向的函数所带的参数列表。
举例说明:
int func(int x); /* 声明一个函数 */
int (*f) (int x); /* 声明一个函数指针 */
f = func; /* 将func函数的首地址赋给指针f */
或者使用下面的方法将函数地址赋给函数指针
f = &func;
注意:指向函数的没有++和--运算;