Mehrdimensionale Arrays werden initialisiert, indem jede Dimension für sich geklammert wird, und die einzelnen Einträge der Dimensionen durch Kommata getrennt werden. Dies ist etwas knifflig:
int a[2][3][4] = { {{ 0, 1, 2, 3 },{ 10, 11, 12, 13}, { 20, 21, 22, 23}}, {{ 100,101,102,103}, {110,111,112,113}, {120,121,122,123}} };
Auch hier kann die Dimensionsangabe wegfallen, allerdings nur bei der letzten Dimension.
Ferner ist es möglich einzelne Klammerpaare wegzulassen, der Compiler weißt die Komponenten in ihrer natürlichen Reihenfolge zu. So können auch alle Klammern weggelassen werden.
int b[2][3][4] = {0,01,02,03,10,11,12,13,20,21,22,23,100,101,102,103,110,111, 112,113,120,121,122,123}; // oder auch ganz obskur int b[2][3][4] = {{{0,01,02,03},10,11,12,13,{20,21,22,23}}, 100,101,102,103,{110,111,112,113},120,121,122,123};
Empfehlenswert ist eine komplette Klammerung durchzuführen um den Überblick nicht zu verlieren. Alternativ ist nur noch das Weglassen aller inneren Klammern angebracht. Alle anderen Varianten sind zu unübersichtlich.