C語言學習-記憶體視覺化幫助一次搞懂宣告變數/指標。含多維陣列/calloc/malloc用法

為了快速地了解C語言是如何使用指標以及陣列達成記憶體位置控制與修改內容的,
我用了excel(後來放上了google 試算表),
來嘗試視覺化記憶體的位置。

讓自己短時間內,對於C語言還不甚熟悉時
隨時回來查閱,能馬上搞懂。

使用說明

一、為方便顯示,記憶體從右到左,從上至下排列,以符合數字呈現
二、以64位元電腦為例。
三、1個位元Byte = 8bits(下面顯示的一排記憶體剛好等於一個Byte)
四、int = 4Bytes = 32bits
五、記憶體分配不可能都剛好給你整數的位置,以下範例純粹是方便示範,所以記憶體位置都是0或8結尾。
六、看到空格就自己補0吧

基本結構

試算表的左半邊主要是宣告語法與文字補充說明,右半邊會寫上16進位或2進位寫法。sizeof的右側還會附上實際程式跑出來的結果截圖對照。

接下來就開始宣告變數啦。

一、宣告兩個變數

二、宣告陣列

宣告陣列程式碼對照

三、宣告一個字串"Hi"

四、宣告指標

也可以用*ptr的方式指向目標,來讀取資料,不過這邊就僅展示不多加說明

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

五、宣告一個陣列指標

總結

突然想到我曾經在學習指標的過程中,製作了這樣的表格,當年一直覺得想要再更完善,結果就這樣塵封了起來。如今暫時也用不到這樣的東西,但當時真的大大幫助了我去理解指標定義,分享出來給大家學習過程中參考。如有誤的地方再麻煩留言告知,有缺失的部分我會想辦法改的。

對了,文章內僅截圖基本內容,進入試算表內還有第二個分頁「多維陣列跟malloc的實際案例」喔!

記憶體視覺化V1.3:


廣告
廣告

發表留言