看板 b93902HW 關於我們 聯絡資訊
※ 引述《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); 因為在存取 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.52 ※ 編輯: chhsiao 來自: 140.112.30.52 (11/19 08:45)