C Array / Pointer - Frage
-
-
Das Erste ist ein Zeiger auf ein zweidimensionales Array von Float Werten.
Das Zweite ist ein zweidimensionales Array von Zeigern auf Float Werte.EDIT: Kampi hat natürlich recht
-
[INDENT]
Zitat
float (*Q)[4][3];[/INDENT]ein pointer auf ein 4x3 array bestehend aus 4x3 floats.
[INDENT]
Zitatfloat *Q[4][3];
[/INDENT]ein array bestehend aus 4x3 pointern vom typ float.
-
Warum ist dann folgender Code gültig:
und dieser nicht:
Ich hätte mir eigentlich genau das Gegenteil erwartet?
Edit: Ah, jetzt wirds mir langsam klar. Man kann ja float a[4][3] quasi als 4 Pointer auf ein float[3] - Array betrachten. Der zweite Fall schlägt demnach fehl, weil die Zuweisung von einem Pointer auf ein float[3] - Array nicht vereinbar ist mit einem float[4][3] - Array. Check! Dankeschön!
Jetzt mitmachen!
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!