展示一下使用指針的指針和指針的引用修改傳遞給方法的指針,以便更好的使用它。(這裡說的指針的指針不是一個二維數組)
當我們把一個指針做為參數傳一個方法時,其實是把指針的複本傳遞給了方法,也可以說傳遞指針是指針的值傳遞。
如果我們在方法内部修改指針會出現問題,在方法裡做修改隻是修改的指針的copy而不是指針本身,原來的指針還保留着原來
的值。我們用下邊的代碼說明一下問題:
看一下輸出結果

輸出的是兩個2
展示一下使用指針的指針做為參數
我們看一下 func(int **p)這個方法
p: 是一個指針的指針,在這裡我們不會去對它做修改,否則會丢失這個指針指向的指針位址
*p: 是被指向的指針,是一個位址。如果我們修改它,修改的是被指向的指針的内容。換句話說,我們修改的是main()方法裡 *pn指針
**p: 兩次解引用是指向main()方法裡*pn的内容
再看一下指針的引用代碼
看一下func(int *&p)方法
p: 是指針的引用,main()方法裡的 *pn
*p:是main()方法裡的pn指向的内容。