2-Dimensionales Feld auf anderes Feld zeigen lassen
-
Printe schrieb:
Say no to triple* schrieb:
warum nicht so?
Weil das hier falsch ist:
matrix[x*y] = malloc (L);
Spiel die Doppelschleife mal durch und achte drauf, welche Werte x*y annimmt.
Richtig, war unachtsam. Muss [n*x+y] statt [x*y] sein.
-
don't like triple* schrieb:
Richtig, war unachtsam. Muss [n*x+y] statt [x*y] sein.
Genau. Aber das "Matrix-Feeling" geht bei deiner Anordnung verloren, du kannst nicht mit matrix[i][j] auf die Elemente zugreifen.
-
Wozu man mehrfach malloc aufrufen muss, wenn doch in dem Speicher alles leben kann, wird sich mir wohl nie erschliessen.
int** matrix = calloc(n*(sizeof(*matrix)+n*sizeof(**matrix))); // wir können auch gleich schön initialisieren for (int i=0; i!=n; i++) matrix[i] = (int*)(matrix+n)+i*n; // wo ist das decltype(*matrix) für C ?