可能重複:
Passing a pointer representing a 2D array to a function in C++如何通過指針在C傳遞一個二維數組
我試圖通過指向我的2維數組傳遞給函數要修改價值。
#include <stdio.h>
void func(int **ptr);
int main() {
int array[2][2] = {
{2, 5}, {3, 6}
};
func(array);
printf("%d", array[0][0]);
getch();
}
void func(int **ptr) {
int i, j;
for (i = 0; i < 2; i++) {
for (j = 0; j < 2; j++) {
ptr[i][j] = 8;
}
}
}
但是程序崩潰了。我做錯了什麼?
使用適當的類型,'無效FUNC(INT( * ptr)[2])',或者傳遞一個指針數組。 –
[我如何在C++中使用數組?](http://stackoverflow.com/q/4810664/1202636) – effeffe
數組不是指針。指針不是數組。你做錯了沒有對你自己重複,直到你不再懷疑它。 –