Hi !
Ich habe ein Verständniss problem bezüglich Funktionsaufrufen mit mehrdimensionalen Arrays.
Als Beispiel:
eine Matrix 2x2
(1 1)
(1 1)
Ich mach mir eine Funktion die eine Matrix ausgibt rein von der logik ja nicht schwierig. Ich hätte das so gemacht:
Ich versteh nicht warum der Aufruf so nicht funktioniert...normale arrays können doch auch ganz einfach nach dem schema array[] als parameter übergeben werden.
Zusätzlich drengt sich mir noch die Frage auf, wenn ich zb. 2 Matrizen Addiere in einer Funktion...wie kann ich dann das Ergebniss der Matrix Addition meiner Funktion als Ergebnis übergeben ?
Ich habe ein Verständniss problem bezüglich Funktionsaufrufen mit mehrdimensionalen Arrays.
Als Beispiel:
eine Matrix 2x2
(1 1)
(1 1)
Ich mach mir eine Funktion die eine Matrix ausgibt rein von der logik ja nicht schwierig. Ich hätte das so gemacht:
Code:
void PrintMat(int Matrix[][], int n, int m)
{
int i, j;
for (i=0; i <m; i++)
{
for(j=0; j<n; j++)
{
printf("%d\t", matrix[i][j]);
}
printf("\n");
}
}
/*nun der aufruf im hauptprogramm der nicht funktioniert*/
int main()
{
int n, m;
n = 2;
m = 2;
int matrix[n][m] = { {1,1}, {1,1} };
PrintMat(matrix[n][m], n, m);
}
Ich versteh nicht warum der Aufruf so nicht funktioniert...normale arrays können doch auch ganz einfach nach dem schema array[] als parameter übergeben werden.
Zusätzlich drengt sich mir noch die Frage auf, wenn ich zb. 2 Matrizen Addiere in einer Funktion...wie kann ich dann das Ergebniss der Matrix Addition meiner Funktion als Ergebnis übergeben ?