Multidimensionale arrays in C++: declareren, initialiseren en loopen
C++ Multidimensionale Arrays
Deze gids leidt je door het declareren, initialiseren en itereren over 2‑D en 3‑D arrays in C++. Praktische code samples en best practices zijn inbegrepen.
In C++ is een multidimensionale array simpelweg een array van arrays. Bijvoorbeeld:
int x[3][4];
Hier is x een tweedimensionale array die 12 elementen kan bevatten. Visualiseer het als een tabel met 3 rijen en 4 kolommen.

Driedimensionale arrays volgen dezelfde logica:
float x[2][4][3];
Met in totaal 24 elementen, berekend door de dimensies te vermenigvuldigen: 2 × 4 × 3 = 24.
Multidimensionale Array Initialisatie
Net als eendimensionale arrays kunnen multidimensionale arrays op meerdere manieren geïnitialiseerd worden, maar duidelijkheid telt. De volgende secties tonen aanbevolen praktijken.
1. Tweedimensionale Array Initialisatie
int test[2][3] = {2, 4, 5, 9, 0, 19};
Hoewel syntactisch correct, is deze stijl moeilijk leesbaar. Een geneste initialisatie is te verkiezen:
int test[2][3] = {{2, 4, 5}, {9, 0, 19}};
Dit maakt de 2 rijen en 3 kolommen expliciet.

2. Driedimensionale Array Initialisatie
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};
Opnieuw leeft leesbaarheid. Een duidelijke benadering groepeert elke dimensie:
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}} };
Let op dat de eerste dimensie twee 3-rij blokken bevat, elk met vier kolommen.
Voorbeeld 1: Tweedimensionale 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; }
Output
test[0][0] = 2 test[0][1] = -5 test[1][0] = 4 test[1][1] = 0 test[2][0] = 9 test[2][1] = 1
Dit snippet demonstreert een geneste for loop die eerst over rijen itereert, dan kolommen, elk element printend.
Voorbeeld 2: Input Opnemen voor een Tweedimensionale Array
#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; }
Output
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 verzamelen twee geneste loops gebruikersinput en tonen de opgeslagen waarden.
Voorbeeld 3: Driedimensionale 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; }
Output
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
Loopen over een 3‑D array vereist drie geneste loops – elk corresponderend met een dimensie. Dit patroon schaalt natuurlijk naar hogere dimensies, hoewel complexiteit snel groeit.
C Taal
- C# Arrays: Declaratie, Initialisatie en Operaties
- C# Multidimensionale Arrays: 2D Arrays Uitgelegd met Codevoorbeelden
- C# Jagged Arrays: Declaratie, Initialisatie en Toegang
- C++ type conversie: impliciet, expliciet en casting technieken
- C++ operators: complete gids met praktische voorbeelden
- C++ comments: best practices voor leesbare, onderhoudbare code
- Arrays doorgeven aan functies in C++: een praktische gids
- C++ Arrays Ontmaskerd: Declaratie, Initialisatie en Pointer‑Technieken
- C++ Dynamische Array‑Allocatie: Praktische Handleiding met Code‑Voorbeelden
- MATLAB: Multidimensionale en Speciale Arrays Beheersen
- Java array-kopieertechnieken: een uitgebreide gids