[問題] 多維陣列指標

看板C_and_CPP (C/C++)作者 (The Gazer)時間12年前 (2013/10/26 23:00), 編輯推噓1(103)
留言4則, 3人參與, 最新討論串1/2 (看更多)
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) 小魯我 最近碰到ㄧ個問題 int op[3][4]={0}; int (*pop)[4]=op; 這行的宣告 到底該怎麼解釋 編譯器寫著 int (*)[4] 這個是 要宣告op陣列為指標時的型態 所以 要輸出時 * (pop+i)[j]這樣嗎 輸出第 i/j 行/列 的值 時在看不懂 那更多維的時候呢 求大大幫忙 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.165.168.216

10/26 23:07, , 1F
*(p+i) 跟 p[i] 是一樣的 所以你還是可以寫 pop[i][j]
10/26 23:07, 1F

10/26 23:11, , 2F
(*pop+i)[j] or *(*pop+i)+j
10/26 23:11, 2F

10/27 05:20, , 3F
樓上, '*' 比 '+' 優先,所以是 *(*(pop+i)+j) 才對
10/27 05:20, 3F

10/27 15:54, , 4F
噢 抱歉 打太快括錯
10/27 15:54, 4F
文章代碼(AID): #1IQzaRrp (C_and_CPP)
文章代碼(AID): #1IQzaRrp (C_and_CPP)