ich bin blutiger Anfänger (heißt im Klartext: vor 2 Tagen angefangen), also verzeiht mir, wenn das alles bei mir n bissel länger dauert...
Also, mein problem:
/* edit by Kerli: Quotetags eingefügt. */tutorials.at hat geschrieben:Da dreidimensionale Arrays schwer zu veranschaulichen (wäre ein dreidimensionaler Quader) sind, gehen wir einen Schritt zurück zu zwei Dimensionen. Im Folgenden wird das Array daten[3][2] deklariert, das somit 6 (= 2 * 3) Elemente enthält. Das Array wird bei der Deklaration vollständig initialisiert:
int daten [3][2] = { { 1, 2 } , { 3, 4 } , { 5, 6 } };
Wie bei einem eindimensionalen Array, ist die Initialisierung von geschwungenen Klammern umgeben (blau gekennzeichnet). Abschließend folgt ein Semikolon. An dem ersten Index kann man erkennen, dass in der ersten Dimension 3 Ebenen existieren: daten[0][..], daten[1][..] und daten[2][..]. Jede dieser Dimensionen muss wiederum in geschwungenen Klammern stehen (rot gekennzeichnet). Beachten Sie, dass diese durch Beistriche getrennt werden müssen! Schlussendlich fügen Sie in jede der 3 Dimensionen 2 Werte ein (grün gekennzeichnet). Da die zweite Dimension aus zwei Elementen besteht, müssen zwei Werte dort stehen. Das Array wurde damit komplett initialisiert.
Was wurde nun womit initialisiert? Die Zählung beginnt wie üblich mit 0. Das heißt, der Wert 1 gehört zu daten[0][0], 2 gehört zu daten[0][1], 3 zu daten[1][0], 4 zu daten[1][1], 5 zu daten[2][0] und 6 zu daten[2][1].
Ich habe mehrere Fragen:
- Das Array hat 6 Elemente. Macht das einen Unterschied on ich es daten[3][2] oder daten[2][3] schreibe?
- Wieso werden bei einem 2 dimensionalen Array 6 Daten in dieser Weise initialisiert? Warum nicht { {1,2,3},{4,5,6} }? Fände ich logischer...
- Und kann mir jemand bitte erklären, warum z.b. der Wert 4 zu daten[1][1] gehört und 6 zu daten[2][1]?
Wahrscheinlich sind das ziemlich einfache Dinge, die auf der Hand liegen, mir aber "noch" nicht.
danke schonmal