tableaux multidimensionnels de C
C ++ supporte des 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 tous les typesde données valides C++,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 <iostream> using namespace std; int main () { // 一个带有 5 行 2 列的数组 int a[5][2] = { {0,0}, {1,2}, {2,4}, {3,6},{4,8}}; // 输出数组中每个元素的值 for ( int i = 0; i < 5; i++ ) for ( int j = 0; j < 2; j++ ) { cout << "a[" << i << "][" << j << "]: "; cout << a[i][j]<< endl; } 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.