看板 b93902HW 關於我們 聯絡資訊
※ 引述《chhsiao (bye~)》之銘言: : ※ 引述《HeroPerffig (傲劍)》之銘言: : : int *data[] : : 那個 弄了很久不是不太清楚耶 ^_^" : : 小金助教說可以拿來當 data[m][n] 用 : : 不過自己在試的時候 我在main裡設了一個測資矩陣 a[m][n]的話 (or a[m*n] ?) : : 他跟*data[] 要怎麼關聯 才有辦法讓我可以傳值到 Row_Echelon(data,m,n)裡 ? : : 請問有人可以幫我解答一下嗎... : : 感謝 orz : 在 function declaration 的時候第二維的 size 要指定, : 例如: : void Row_Echelon(int data[][100], int m, int n); 想問一下 在參數傳遞傳 int data[][100] 的時候 是傳一個int **data 還是 int *data[100] ? : 因為在存取 data[i][j] 的時候, : compiler 事實上是會取 data + i * 100 + j 位址儲存的值, : 所以 compilen 需要那個 "100" 來知道 offset 要怎麼計算. : BTW, 這個宣告和 : void Row_Echelon(int *data[100], int m, int n); : 是相等的, data 在兩者都是 "指到 int[100] (連續 100 個 int) 這種型態的指標." -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.30.34