next up previous contents index
Next: Chaînes de caractères Up: No Title Previous: Des nombres premiers à

Tableaux de dimension 1

    

Un tableau est un objet rassemblant un nombre donné d'objets de même type, installés consécutivement en mémoire.

Une définition complète est de la forme suivante :

   

int t[] = {1,2,3,4};

Elle déclare t comme un nom dont le type est tableau de int, puis alloue un bloc de mémoire pouvant contenir quatre int, et enfin initialise ce bloc en y écrivant les entiers 1, 2, 3, et 4. Le nom t est une expression constante dont la valeur est l'adresse de ce bloc de mémoire ; le type de cette valeur est << tableau de int >> ; comme t est une constante et non une variable, t ne peut pas être le membre gauche d'une affectation (t = ... est interdit).

Les éléments d'un tableau sont toujours accédés par indexation à partir de zéro[*] : les quatre éléments du tableau t sont t[0], t[1], t[2] et t[3].


  
Figure 9: Tableau à une dimension
\begin{figure}
 \begin{center}
 \leavevmode
 
\fbox {
 \epsfig{file=fig/array1.eps}
 }
 \end{center} \end{figure}

Ces t[i], et plus généralement t[exp ], pour une expression arithmétique quelconque exp , sont des variables, c'est-à-dire peuvent être le membre gauche d'une affectation :

  t[1+1] = 12;

C'est une erreur d'accéder à un élément hors des bornes du tableau (par exemple t[-4], t[4]), mais cette erreur n'est pas signalée à la compilation, et peut à l'exécution, soit produire des résultats aberrants soit provoquer une erreur.

Si les éléments du tableau doivent être traités comme des constantes, c'est-à-dire s'ils ne doivent pas figurer à gauche d'une affectation, il faut spécifier const dans la définition du tableau :

 

const int t[] = {1,2,3,4};

Quand il n'y pas d'initialisation (définition incomplète, ce qui est le plus courant), la taille du tableau doit être spécifiée entre crochets :

int t[4];

Cette définition permet l'allocation de quatre int ; la taille doit toujours être une expression constante.


next up previous contents index
Next: Chaînes de caractères Up: No Title Previous: Des nombres premiers à
Jean-Philippe Chancelier
9/29/1998