對於作業分配,我們被告知要編寫像sum,find_max和find_min這樣的函數,這些函數在2D矩陣上運行。我會用這樣的東西來正常地找到最大值。使用指針算術搜索二維數組
double find_max(double *the_array, int row_size, int col_size) {
double maxValue = *the_array[0][0];
for (int i = 0; i < col_size; i++) {
for (int j = 0; j < row_size; j++) {
if (*the_array[i][j] > maxValue) {
maxValue = *the_array[i][j];
}
}
}
}
但是,我們被告知使用指針而不是數組來完成這個作業。我猜這意味着我需要使用指針算法來通過數組,但我不知道如何做到這一點。我使用什麼樣的循環?我怎麼知道什麼時候告訴它停止?
「不過,我們被告知使用指針,而不是數組這個功課」。你的代碼已經在使用指針,你的代碼中沒有數組。還有什麼是'double maxValue = * the_array [0] [0]'應該做的? O_o – George
要加倍取消引用,您需要一個雙指針作爲參數'double ** the_array'。 –