Re: [問題] 二維陣列的陣列名稱
多謝 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)
討論串 (同標題文章)
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章