回覆列表
-
1 # 波波桑
-
2 # niujp
什麼是指標?答曰:指標是一個變數,用於存放某個‘‘物件’’在記憶體中的房間號碼,也就是記憶體單元的門牌號,即記憶體地址。簡單一點說,指標就是存放記憶體地址的變數。為了處理方便,很多高階語言都設定了專門的指標變數的型別,高階語言不同,指標變數的定義和使用方法有區別,C語言用*來定義和使用指標變數。進一步講,在CPU內部有專門的暫存器 (CPU內部的儲存單元)存放地址資料,如PC(程式計數器)或IP(指令指標),裡面存放的是將要執行的指令的記憶體地址(存放指令的房間號碼)。學點組合語言程式設計機會深刻的理解指標變數的原理和用法了。
那個*號其實是取值的意思。
看下面的程式碼:
我們再來看看輸出結果:
a的值是10,b和a的地址是一樣的,b取值和a一樣,所以那個星號是取值的意思。
同樣題主的程式碼中, *++av
其實就是 av這個二維指標,先+1,然後再取值, ++的優先順序超過*,所以也是取值的意思。不知道你聽明白了沒。不明白自己拿程式碼去機器上跑一跑。