為了快速地了解C語言是如何使用指標以及陣列達成記憶體位置控制與修改內容的,
我用了excel(後來放上了google 試算表),
來嘗試視覺化記憶體的位置。
讓自己短時間內,對於C語言還不甚熟悉時
隨時回來查閱,能馬上搞懂。
使用說明
一、為方便顯示,記憶體從右到左,從上至下排列,以符合數字呈現
二、以64位元電腦為例。
三、1個位元Byte = 8bits(下面顯示的一排記憶體剛好等於一個Byte)
四、int = 4Bytes = 32bits
五、記憶體分配不可能都剛好給你整數的位置,以下範例純粹是方便示範,所以記憶體位置都是0或8結尾。
六、看到空格就自己補0吧
基本結構
試算表的左半邊主要是宣告語法與文字補充說明,右半邊會寫上16進位或2進位寫法。sizeof的右側還會附上實際程式跑出來的結果截圖對照。

接下來就開始宣告變數啦。
一、宣告兩個變數

二、宣告陣列


三、宣告一個字串"Hi"


四、宣告指標

這邊如果再宣告一個指標的指標 int **pptr = &ptr = &(&ptr)

五、宣告一個陣列指標


總結
突然想到我曾經在學習指標的過程中,製作了這樣的表格,當年一直覺得想要再更完善,結果就這樣塵封了起來。如今暫時也用不到這樣的東西,但當時真的大大幫助了我去理解指標定義,分享出來給大家學習過程中參考。如有誤的地方再麻煩留言告知,有缺失的部分我會想辦法改的。
對了,文章內僅截圖基本內容,進入試算表內還有第二個分頁「多維陣列跟malloc的實際案例」喔!
廣告
廣告