[問題] 陣列和指標的問題

看板C_and_CPP作者時間16年前 (2009/05/07 14:59), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/2 (看更多)
int (*match_buf)[2] = new int[m_iNum1][2]; 上面這一行程式, 我在VC中編譯可以過. 如果拿掉等號左側的括號變成 int* match_buf[2] = new int[m_iNum1][2]; 就會出錯. 我想請問一下原因是甚麼? 這是另一種動態二維矩陣的生成法嗎? 那和 int** match_buf = new int*[m_iNum1]; for(int i = 0; i < m_iNum1; i++) match_buf[i] = new int[2]; 這樣的作法於記憶體上配置會有差嗎? 我記得後一種作法應該不會有連續位置. (match_buf[k]裡面兩個會連續,但和match_buf[k+1]不連續, k介於0到m_iNum1) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.231.82.32
文章代碼(AID): #1A0lTlm7 (C_and_CPP)
文章代碼(AID): #1A0lTlm7 (C_and_CPP)