[問題] 一個利用指標存取陣列的問題!

看板C_and_CPP (C/C++)作者 (Corn)時間16年前 (2009/10/03 17:33), 編輯推噓1(106)
留言7則, 4人參與, 最新討論串1/2 (看更多)
假設我宣告一個3 ×7的陣列並設定初值 例︰int QQQ[3][7]={初值(省略不打)}; 然後我用*(&QQQ[0][0]+7*i+j)去讀 結果可以確實讀取第i列第j行的值 但是又因為宣告陣列時各元素的記憶體是連續排在一起的 而且QQQ又等於&QQQ[0][0] 所以我想說*(QQQ+7*i+j)應該也可以確實讀出才對 但是卻連編譯也不能編譯 但是如果改成*(*(QQQ+i)+j)的話 就可以確實讀出正確的值 但我感覺好亂喔@@ 明明QQQ就等於&QQQ[0][0]啊 但為什麼就讀不出來咧 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.124.72.6

10/03 18:26, , 1F
型態吧...
10/03 18:26, 1F

10/03 19:22, , 2F
*((int *)QQQ+7*i+j) 先把QQQ轉型
10/03 19:22, 2F

10/03 21:17, , 3F
QQQ=&QQQ[0]
10/03 21:17, 3F

10/03 21:48, , 4F
那為什麼*(*(QQQ+i)+j)裡的QQQ不用轉型呢?
10/03 21:48, 4F

10/03 21:49, , 5F
我轉過了就算轉了也是錯的
10/03 21:49, 5F

10/03 22:00, , 6F
mail測試程式給你 請收信
10/03 22:00, 6F

10/04 13:09, , 7F
我的e-mail是by_by615@yahoo.com.tw
10/04 13:09, 7F
文章代碼(AID): #1AnnfabL (C_and_CPP)
文章代碼(AID): #1AnnfabL (C_and_CPP)