函数与指针探究
时间:2022-05-05 01:29
1.什么叫函数指针,我们来做个对比:
1)这是我们常见普通的指针定义变量:
int a=10;
int *p = &a;
2)再看此例子:
int ADD(int a,int b); //定义带参函数
int (*myFuncVar)(int a, int b) ; // 定义带参数的函数指针,指针变量名为myFuncVar
myFuncVar = ADD; // myFuncVar变量名指向函数名,函数名即是函数的首地址,
是我们找到这个函数地点的门牌号。
上面也等价:
int ADD(int a,int b);
int (*myFuncVar)(int a, int b) = ADD;// 有没有类似 int *p =&a 啊,答案是的
不知您是否理解没,不行您就这样看:
int (*myFuncVar)(int a, int b) = ADD ==》 int * myFuncVar = ADD 只不过是 myFuncVar不是普通的变量名,而是专门用来指向别的函数的变量,它带着两个参数 int a 与 int b,这样我们就补充完整去: int * myFuncVar(int a,int b) = ADD; 这只是为了我们方便理解,因为其中存在着优先级问题,所以是这个丑样:int (*myFuncVar)(int a, int b) = ADD 。