C語言-指針變量的理解

a指針變量也是變量,只不過是內存中存的是變量i的內存地址。
a=&i 賦值給a的是變量i的內存地址
*a是用代表內存地址爲a裏存儲的內容
可以對指針變量a取內存地址 &a

驗證過程:

打印 a   驗證 指針變量a存了i的內存地址62fe4c。
打印 星號a  驗證 通過內存地址 a 找到 內存地址存儲的內容 3

sizeof 確認64位操作系統中,int變量 i 佔4字節,指針變量a佔8個字節。

打印 &a ,推測 62fe4c - 4 - 8 = 62fe41 那麼 指針變量的內存地址應該爲62fe41 ,對比打印結果 62fe40
說明是成功的。有1的差距是因爲指針計算時加1或減1的問題。

但是不能 這樣做 int * b; b=&a。 程序提示錯誤。

程序驗證過程中用到了單步調試,VC++有內存查看工具,但是VC++沒有裝成功。如果可以直接看內存,是不是可以看到像Excel表格畫出來的效果。
驗證通過單步調試,逐個打印的方式來做的。單步調試的方法,程序文檔中設置斷點(即需要查看步驟的程序開始和結尾),F9編譯好程序。設置好查看的對象變量,F5開始debug,F7 next line 一行一行執行程序。

C語言-指針變量的理解

在VC上調試出來了。這次調試成功有一個關鍵點,在於選擇win32 console appliantion。
在菜單 查看項中選擇 調試窗口,然後選擇memory就可以查看內存變化。非常好!!!

C語言-指針變量的理解

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章