詳解c 指標的指標和指標的引用

2021-07-09 17:56:51 字數 941 閱讀 2200

展示一下使用指標的指標和指標的引用修改傳遞給方法的指標,以便更好的使用它。(這裡說的指標的指標不是乙個二維陣列)

當我們把乙個指標做為引數傳乙個方法時,其實是把指標的複本傳遞給了方法,也可以說傳遞指標是指標的值傳遞。

如果我們在方法內部修改指標會出現問題,在方法裡做修改只是修改的指標的copy而不是指標本身,原來的指標還保留著原來

的值。我們用下邊的**說明一下問題:

int m_value = 1

;void func(int *p)

int main(int argc, char *argv)

看一下輸出結果

輸出的是兩個2

展示一下使用指標的指標做為引數

我們看一下 func(int **p)這個方法

*p:  是被指向的指標,是乙個位址。如果我們修改它,修改的是被指向的指標的內容。換句話說,我們修改的是main()方法裡 *pn指標

**p: 兩次解引用是指向main()方法裡*pn的內容

再看一下指標的引用**

看一下func(int *&p)方法

詳解c 指標的指標 和 指標的引用

注意 指向指標的引用是某一指標的別名,同變數的引用一樣。引用絕對不是單獨存在的,它一定是指示某個已經存在的東西的,它一定是某個已經存在的物體的 別名 而且它如果 被初始化賦值成某個變數後 它就始終是這個變數的替身 對引用的改變 就是對這個變數的改變 展示一下使用指標的指標和指標的引用修改傳遞給方法的...

詳解c 指標的指標和指標的引用

展示一下使用指標的指標和指標的引用修改傳遞給方法的指標,以便更好的使用它。這裡說的指標的指標不是乙個二維陣列 為什麼需要使用它們 當我們把乙個指標做為引數傳乙個方法時,其實是把指標的複本傳遞給了方法,也可以說傳遞指標是指標的值傳遞。如果我們在方法內部修改指標會出現問題,在方法裡做修改只是修改的指標的...

詳解c 指標的指標和指標的引用

展示一下使用指標的指標和指標的引用修改傳遞給方法的指標,以便更好的使用它。這裡說的指標的指標不是乙個二維陣列 當我們把乙個指標做為引數傳乙個方法時,其實是把指標的複本傳遞給了方法,也可以說傳遞指標是指標的值傳遞。如果我們在方法內部修改指標會出現問題,在方法裡做修改只是修改的指標的copy而不是指標本...