Mögliche Duplizieren weitergeben müssen:
Passing a pointer representing a 2D array to a function in C++Wie ein 2D-Array durch Zeiger in c
Ich versuche, meine 2-dimensionalen Array an eine Funktion durch Zeiger und ändern möchten passieren die Werte.
#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;
}
}
}
Aber das Programm stürzt damit ab. Was habe ich falsch gemacht?
Verwenden richtigen Typen, 'Leere func (int (* ptr) [2]) ', oder übergeben Sie ein Array von Zeigern. –
[Wie verwende ich Arrays in C++?] (Http://stackoverflow.com/q/4810664/1202636) – effeffe
Arrays sind keine Zeiger. Zeiger sind keine Arrays. Was du falsch gemacht hast, hat es nicht für dich selbst wiederholt, bis du aufgehört hast, daran zu zweifeln. –