Mehrdimensionale Arrays in C++ meistern: Deklaration, Initialisierung und Iteration
C++ Mehrdimensionale Arrays
Dieser Leitfaden führt Sie durch Deklaration, Initialisierung und Iteration über 2-D- und 3-D-Arrays in C++. Praktische Code-Beispiele und Best Practices inklusive.
In C++ ist ein mehrdimensionales Array einfach ein Array von Arrays. Zum Beispiel:
int x[3][4];
Hier ist x ein zweidimensionales Array, das 12 Elemente halten kann. Visualisieren Sie es als Tabelle mit 3 Zeilen und 4 Spalten.

Dreidimensionale Arrays folgen derselben Logik:
float x[2][4][3];
Mit insgesamt 24 Elementen, berechnet durch Multiplikation der Dimensionen: 2 × 4 × 3 = 24.
Mehrdimensionale Array-Initialisierung
Wie eindimensionale Arrays können mehrdimensionale Arrays auf verschiedene Weisen initialisiert werden, aber Lesbarkeit ist wichtig. Die folgenden Abschnitte zeigen empfohlene Praktiken.
1. Zweidimensionale Array-Initialisierung
int test[2][3] = {2, 4, 5, 9, 0, 19};
Während syntaktisch korrekt, ist dieser Stil schwer zu lesen. Bevorzugen Sie einen verschachtelten Initialisierer:
int test[2][3] = {{2, 4, 5}, {9, 0, 19}};
Dies macht die 2 Zeilen und 3 Spalten explizit.

2. Dreidimensionale Array-Initialisierung
int test[2][3][4] = {3, 4, 2, 3, 0, -3, 9, 11, 23, 12, 23, 2, 13, 4, 56, 3, 5, 9, 3, 5, 5, 1, 4, 9};
Wieder leidet die Lesbarkeit. Ein klarerer Ansatz gruppiert jede Dimension:
int test[2][3][4] = {
{{3, 4, 2, 3}, {0, -3, 9, 11}, {23, 12, 23, 2}},
{{13, 4, 56, 3}, {5, 9, 3, 5}, {5, 1, 4, 9}}
};
Beachten Sie, dass die erste Dimension zwei 3-Zeilen-Blöcke enthält, jeweils mit vier Spalten.
Beispiel 1: Zweidimensionales Array
#include <iostream>
using namespace std;
int main()
{
int test[3][2] = {{2, -5}, {4, 0}, {9, 1}};
for (int i = 0; i < 3; ++i)
{
for (int j = 0; j < 2; ++j)
{
cout << "test[" << i << "][" << j << "] = " << test[i][j] << endl;
}
}
return 0;
}
Ausgabe
test[0][0] = 2 test[0][1] = -5 test[1][0] = 4 test[1][1] = 0 test[2][0] = 9 test[2][1] = 1
Dieses Snippet demonstriert eine verschachtelte for-Schleife, die zuerst über Zeilen, dann Spalten iteriert und jedes Element ausgibt.
Beispiel 2: Eingabe für ein zweidimensionales Array entgegennehmen
#include <iostream>
using namespace std;
int main()
{
int numbers[2][3];
cout << "Enter 6 numbers: " << endl;
for (int i = 0; i < 2; ++i)
{
for (int j = 0; j < 3; ++j)
{
cin >> numbers[i][j];
}
}
cout << "The numbers are: " << endl;
for (int i = 0; i < 2; ++i)
{
for (int j = 0; j < 3; ++j)
{
cout << "numbers[" << i << "][" << j << "]: " << numbers[i][j] << endl;
}
}
return 0;
}
Ausgabe
Enter 6 numbers: 1 2 3 4 5 6 The numbers are: numbers[0][0]: 1 numbers[0][1]: 2 numbers[0][2]: 3 numbers[1][0]: 4 numbers[1][1]: 5 numbers[1][2]: 6
Hier sammeln zwei verschachtelte Schleifen Benutzereingaben und zeigen dann die gespeicherten Werte an.
Beispiel 3: Dreidimensionales Array
#include <iostream>
using namespace std;
int main()
{
int test[2][3][2] = {
{{1, 2}, {3, 4}, {5, 6}},
{{7, 8}, {9, 10}, {11, 12}}
};
for (int i = 0; i < 2; ++i)
{
for (int j = 0; j < 3; ++j)
{
for (int k = 0; k < 2; ++k)
{
cout << "test[" << i << "][" << j << "][" << k << "] = " << test[i][j][k] << endl;
}
}
}
return 0;
}
Ausgabe
test[0][0][0] = 1 test[0][0][1] = 2 test[0][1][0] = 3 test[0][1][1] = 4 test[0][2][0] = 5 test[0][2][1] = 6 test[1][0][0] = 7 test[1][0][1] = 8 test[1][1][0] = 9 test[1][1][1] = 10 test[1][2][0] = 11 test[1][2][1] = 12
Das Iterieren über ein 3-D-Array erfordert drei verschachtelte Schleifen – jede entspricht einer Dimension. Dieses Muster skaliert natürlich auf höhere Dimensionen, obwohl die Komplexität schnell wächst.
C Sprache
- C# Arrays meistern: Deklaration, Initialisierung und Operationen
- C# Mehrdimensionale Arrays: 2D Arrays mit Codebeispielen erklärt
- C# Jagged Arrays meistern: Deklaration, Initialisierung und Zugriff
- C++-Operatoren meistern: Ein vollständiger Leitfaden mit praktischen Beispielen
- C++-Kommentare: Best Practices für lesbaren, wartbaren Code
- Arrays an Funktionen in C++ übergeben: Ein praktischer Leitfaden
- Java Array-Kopiertechniken: Umfassender Leitfaden
- C++ Arrays verstehen: Deklaration, Initialisierung und Pointer‑Techniken
- C++ Dynamische Array‑Allokation: Praktischer Leitfaden mit Code‑Beispielen
- MATLAB: Mehrdimensionale und spezielle Arrays meistern