Un
tableau est une variable qui regroupe une ou plusieurs données de même
type. L'accès à un élément du tableau se fait par un système d'indice, l'indice
du premier élément étant 0. Par exemple :
|
déclare
un tableau de 10 éléments (de type int) dont le nom est t. Les éléments du
tableau vont donc de t[0], t[1], t[2] ... à t[9]. t est une variable de type
tableau, plus précisément (dans notre cas), une variable de type tableau de
10 int (int [10]). Les éléments du tableau sont des int. Toutes les règles
s'appliquant aux variables s'appliquent également aux éléments d'un tableau.
On
peut initialiser un tableau à l'aide des accolades. Par exemple :
|
Bien
évidemment, on n'est pas obligé d'initialiser tous les éléments, on aurait donc
pu par exemple nous arrêter après le 5ème élément, et dans ce cas les autres
éléments du tableau seront automatiquement initialisés à 0. Attention ! une
variable locale non initialisée contient « n'importe quoi », pas 0 !
Lorsqu'on déclare un tableau avec initialisation, on peut ne pas spécifier le
nombre d'éléments car le compilateur le calculera automatiquement. Ainsi, la
déclaration :
|
est
strictement identique à :
|
Tout
d'abord, étudions un peu la logique du mot-clé typedef. Pour cela, supposons
que l'on veuille pouvoir utiliser indifféremment les formules suivantes pour
déclarer un entier :
|
et
|
Dans
la première forme, on remplace x par ENTIER et on la fait précéder du mot-clé
typedef, ce qui nous donne :
|
Concrètement,
cela signifie : un ENTIER est tout ce qui suit le mot int dans une déclaration.
On peut également formuler une phrase similaire (genre : un TABLEAU est tout ce
qui est précédé du mot int et suivi de [10] dans sa déclaration)
pour définir un type TABLEAU mais il y a plus malin :
On remplace t par TABLEAU dans sa déclaration puis on ajoute devant le mot-clé
typedef, exactement comme ce qu'on a fait avec x et ENTIER. Ainsi, le type
tableau de 10 int se définit de la manière suivante :
|
Désormais
:
|
et
:
|
sont
strictement équivalents.
On
peut également créer un tableau à plusieurs dimensions. Par exemple :
|
Un
tableau à plusieurs dimensions n'est en fait rien d'autre qu'un tableau
(tableau à une dimension) dont les éléments sont des tableaux. Comme dans le
cas des tableaux à une dimension, le type des éléments du tableau doit être
parfaitement connu. Ainsi dans notre exemple, t est un tableau de 10 tableaux
de 3 int, ou pour vous aider à y voir plus clair :
|
Les
éléments de t vont de t[0] à t[9], chacun étant un tableau de 3 int.
On peut bien entendu créer des tableaux à 3 dimensions, 4, 5, 6, ...
On peut également initialiser un tableau à plusieurs dimensions. Par exemple :
|
Qu'on
aurait également pu tout simplement écrire :
|