Re: [問題] 二維陣列的陣列名稱

看板C_and_CPP (C/C++)作者 (new)時間13年前 (2011/07/24 13:18), 編輯推噓0(002)
留言2則, 1人參與, 最新討論串3/7 (看更多)
多謝 L 大的回答, 我能瞭解 a 它是個"在 0x22cd0c 的 int[2][3]" a[0] 它是個"在 0x22cd0c 的 int[3]" a[0][0] 它是個"在 0x22cd0c 的 int" 而 : *a 會是一個"在某處的 int[3]" 而 *(a[0]) 會是一個"在某處的 int" : 而某處在哪就是你上面提到的"值"了 請問上一句的 "在某處" 感覺上是個變數 (因為 L 大下一段回覆 b 中的 "某處" 是變數 的意思)。 但這裡的某處不是個變數對不對 (這是我的問題一) ? 因為在宣告 int a[2][3] 時, a 的位置就與 a[0] 的位置是相同了(一種程式設計的定義?)。 我想問個觀念是: a 會等於 *a 這個現象, 我不太可以用指標變數 與 其所載的內容物的觀念去理解它是嗎 ? 因為 a 代表著變數 a 的位置, 而 *a 是變數 a[0] 的位址 所以才會得到 a 與 *a 是相同的 第二個問題 int (*b)[3] 讓 b = a, 所以 b 的內容物是 0x22cd0c。這裡讓 b 反參考 *b 也會得到相同的位址。 雖然 b 與 b* 的型別不同, 但 b 與 *b 是相同的位址也是一種上面描述的關係嗎 ? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.233.7.208

07/24 13:19, , 1F
是不是基於以上的觀念, 所以陣列不等於址標?
07/24 13:19, 1F

07/24 13:21, , 2F
07/24 13:21, 2F
※ 編輯: Nairoda 來自: 118.233.7.208 (07/24 14:04)
文章代碼(AID): #1EAwiS9I (C_and_CPP)
討論串 (同標題文章)
文章代碼(AID): #1EAwiS9I (C_and_CPP)