1. 程式人生 > >函數與指針探究

函數與指針探究

nbsp 變量 參數 是的 bsp 沒有 優先 而是 函數

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 。

函數與指針探究