函数与指针探究

Posted 千浦千钰

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了函数与指针探究相关的知识,希望对你有一定的参考价值。

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 。

以上是关于函数与指针探究的主要内容,如果未能解决你的问题,请参考以下文章

《coredump问题原理探究》Windows版 笔记

拒绝手滑,我们都是稳准狠C++のmemset函数的小探究

⛸️拒绝手滑,我们都是稳准狠⛸️C++のmemset函数的小探究

字符指针赋值探究小结

有意思的鼠标指针交互探究

iOS底层原理 - Block本质探究