C des tableaux multidimensionnels
C soutien linguistique tableaux multidimensionnels. La forme générale d'une déclaration de tableau multidimensionnel est la suivante:
type name[size1][size2]...[sizeN];
Par exemple, l'instruction suivante crée un tableau à trois dimensions de 5104 entiers .:
int threedim[5][10][4];
matrice bidimensionnelle
La forme la plus simple d'un tableau multidimensionnel est un tableau à deux dimensions. Une matrice bidimensionnelle, en substance, est une liste de réseau unidimensionnel. X colonne rangée y a déclaré un tableau à deux dimensions d'entiers dans le formulaire ci-dessous:
type arrayName [ x ][ y ];
Enquoi, le type peut être tout typede données Cvalides,arrayName est un identifiant valide C. Un tableau à deux dimensions peut être considéré comme une forme rangée x et y colonne avec. Voici un tableau à deux dimensions contenant 3 lignes et 4:
Ainsi, chaque élément du tableau est l'utilisation de la forme a [i, j] noms d'éléments pour identifier où un nom est un tableau, i et j est l'identifiant unique dans un indice de chaque élément.
Deux dimensions de l'initialisation du réseau
Les tableaux multidimensionnels peuvent être initialisés entre parenthèses à la valeur spécifiée pour chaque ligne. Voici un tableau de quatre rangées avec 3.
int a[3][4] = { {0, 1, 2, 3} , /* 初始化索引号为 0 的行 */ {4, 5, 6, 7} , /* 初始化索引号为 1 的行 */ {8, 9, 10, 11} /* 初始化索引号为 2 的行 */ };
A l'intérieur des parenthèses imbriquées sont facultatifs, l'initialisation suivante est équivalente à ce qui précède:
int a[3][4] = {0,1,2,3,4,5,6,7,8,9,10,11};
accès à l'élément de tableau à deux dimensions
Deux dimensions élément de tableau à l'aide de l'indice (ie, l'indice réseau de ligne et l'indice de colonne) à visiter. Par exemple:
int val = a[2][3];
La déclaration ci-dessus obtiendra les quatre premiers éléments du tableau sur la ligne 3. Vous pouvez être vérifié par le schéma ci-dessus. Regardons le programme suivant, nous allons utiliser une boucle imbriquée pour traiter tableau à deux dimensions:
#include <stdio.h> int main () { /* 一个带有 5 行 2 列的数组 */ int a[5][2] = { {0,0}, {1,2}, {2,4}, {3,6},{4,8}}; int i, j; /* 输出数组中每个元素的值 */ for ( i = 0; i < 5; i++ ) { for ( j = 0; j < 2; j++ ) { printf("a[%d][%d] = %d\n", i,j, a[i][j] ); } } return 0; }
Lorsque le code ci-dessus est compilé et exécuté, il produit les résultats suivants:
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
Comme décrit ci-dessus, vous pouvez créer des tableaux de toutes dimensions, mais dans des circonstances normales, nous avons créé un tableau de tableaux à une dimension et tableau à deux dimensions.