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

2021-07-31 02:30:59 字數 842 閱讀 2327

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

為什麼需要使用它們

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

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

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

輸出的是兩個2 可知指標裡儲存的值並沒有被改變

使用指標的指標

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

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

p: 是乙個指標的指標,在這裡我們不會去對它做修改,否則會丟失這個指標指向的指標位址

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

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

指標的引用

再看一下指標的引用**

int m_value = 1;

void func(int *&p)

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

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

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

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

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

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