C C 提公升 指標的指標和指標的引用

2022-03-11 10:51:47 字數 746 閱讀 7683

今天在使用指標的時候我發現了乙個自己的錯誤。

我剛開自以為是覺得輸出的兩個p都是6,當時覺得兩個p所指的位址相同,要修改就都修改了。

這是乙個很低階的錯誤,兩個p所指的位址相同,但是這兩個指標的位址是不一樣的。

好比兩個人都知道火車站怎麼走,但不能說這兩個人是乙個人,更何況在修改中乙個人已經忘了火車站,它只知道高鐵站怎麼走,那另乙個只知道火車站的並沒有受到影響,他還是只知道火車站。

好了,那麼如何做到main修改裡面的p呢?要用到兩種技術:

指標的指標技術中,我們要修改乙個指標所指的內容,就要將這個指標本身的位址作為引數傳遞給方法。

比如我們要到火車站,只有乙個人知道火車站的位置,我們要想找到火車站,就要根據乙個位址先找到這個人,再根據這個人找到火車站。

表示下來就是**p=&(

&(p)

),&p所指的就是火車站。&(&(p))就是知道火車站的人的位址。

我們要修改p,就要先找到它,找到後修改火車站的位址,那個人就知道新的火車站位址了。

指標的引用,在這裡兩個指標本質上是一模一樣的,change裡面的p

就是main裡面的p。所以直接修改就好。

個人理解,引用就是指標的一種變體,就是&也可以理解為*.

C C 提公升 指標的指標和指標的引用

今天在使用指標的時候我發現了乙個自己的錯誤。我剛開自以為是覺得輸出的兩個p都是6,當時覺得兩個p所指的位址相同,要修改就都修改了。這是乙個很低階的錯誤,兩個p所指的位址相同,但是這兩個指標的位址是不一樣的。好比兩個人都知道火車站怎麼走,但不能說這兩個人是乙個人,更何況在修改中乙個人已經忘了火車站,它...

C C 指標和引用

指標是c語言的靈魂。通過指標,可以輕鬆地訪問記憶體中的資料,對資料進行讀寫 概念 指標是變數,用來存放記憶體位址,位址一般用16進製制的數字表示,用來唯一標識一塊記憶體,我們可以通過 獲取變數的位址 指標變數的定義語法 資料型別 變數名 指標變數與普通變數的區別 普通變數存放資料,指標變數存放位址 ...

指標的指標和指標的引用

1,使用指標的指標和指標的引用的原因 當我們把乙個指標做為引數傳乙個方法時,其實是把指標的複本傳遞給了方法,也可以說傳遞指標是指標的值傳遞。如果我們在方法內部修改指標會出現問題,在方法裡做修改只是修改的指標的copy而不是指標本身,原來的指標還保留著原來的值。我們用下邊的 說明一下問題 int m ...