C Mehrdimensionale Arrays
Die Sprache C unterstützt mehrdimensionale Arrays. Die allgemeine Form einer Deklaration eines mehrdimensionalen Arrays lautet wie folgt:
type name[size1][size2]...[sizeN];
Zum Beispiel erzeugt die folgende Deklaration ein dreidimensionales 5 . 10 . 4 Integer-Array:
int threedim[5][10][4];
Zweidimensionales Array
Die einfachste Form eines mehrdimensionalen Arrays ist ein zweidimensionales Array. Im Wesentlichen ist ein zweidimensionales Array eine Liste eindimensionaler Arrays. Um ein zweidimensionales Integer-Array mit x Zeilen und y Spalten zu deklarieren, lautet die Form wie folgt:
type arrayName [ x ][ y ];
wobei,typetype ein beliebiger gültiger C-Datentyp sein kann,arrayNamearrayName ein gültiger C-Bezeichner ist. Ein zweidimensionales Array kann als Tabelle mit x Zeilen und y Spalten betrachtet werden. Das Folgende ist ein zweidimensionales Array mit 3 Zeilen und 4 Spalten:
int x[3][4];
Daher wird jedes Element im Array durch einen Elementnamen der Form a[ i , j ] identifiziert, wobei a der Array-Name ist und i und j die Indizes sind, die jedes Element in a eindeutig identifizieren.
Zweidimensionales Array initialisieren
Mehrdimensionale Arrays können initialisiert werden, indem Werte für jede Zeile innerhalb der geschweiften Klammern angegeben werden. Das Folgende ist ein Array mit 3 Zeilen und 4 Spalten.
int a[3][4] = {
{0, 1, 2, 3} , /* 初始化索引号为 0 的行 */
{4, 5, 6, 7} , /* 初始化索引号为 1 的行 */
{8, 9, 10, 11} /* 初始化索引号为 2 的行 */
};
Die inneren verschachtelten geschweiften Klammern sind optional; die folgende Initialisierung entspricht der obigen:
int a[3][4] = {0,1,2,3,4,5,6,7,8,9,10,11};
Zugriff auf 2D-Array-Elemente
Auf Elemente in einem zweidimensionalen Array wird mithilfe von Indizes zugegriffen (d. h. dem Zeilenindex und dem Spaltenindex des Arrays). Zum Beispiel:
int val = a[2][3];
Die obige Anweisung ruft das Element in der 3. Zeile und 4. Spalte des Arrays ab. Sie können dies mit dem obigen Diagramm überprüfen. Sehen wir uns das folgende Programm an; wir werden verschachtelte Schleifen verwenden, um ein zweidimensionales Array zu verarbeiten:
Beispiel
Wenn der obige Code kompiliert und ausgeführt wird, liefert er die folgenden Ergebnisse:
a[0][0] = 0 a[0][1] = 0 a[1][0] = 1 a[1][1] = 2 a[2][0] = 2 a[2][1] = 4 a[3][0] = 3 a[3][1] = 6 a[4][0] = 4 a[4][1] = 8
Wie oben erwähnt, können Sie Arrays beliebiger Dimension erstellen; im Allgemeinen sind die Arrays, die wir erstellen, jedoch eindimensionale und zweidimensionale Arrays.
Weitere Erweiterungen