Un tableau (array en anglais) est une suite séquentielle de cellules, toutes de même type. Un tableau peut être à une ou plusieurs dimensions. Voici un exemple de déclaration d'un tableau d'entiers à 5 cellules :
int tab[5];
Un tableau ne peut contenir que des cellules de même type. Si vous avez besoin de créer un tableau qui contient des cellules de types différents (par exemple des entiers et des flottants), il faut créer deux tableaux ou utiliser des structures que nous verrons plus tard dans ce cours.
La syntaxe de la déclaration d'un tableau est illustrée ci-dessous :
Cette déclaration crée un tableau qui peut être représenté sous forme de ligne ou de colonnes :
$$ tab = \begin{bmatrix} a_0 && a_1 && a_2 && a_3 && a_4 \end{bmatrix} $$
$$ tab = \begin{bmatrix} a_0 \\ a_1 \\ a_2 \\ a_3 \\ a_4 \end{bmatrix} $$
La numérotation des cellules commencent à zéro. Un tableau de n cellules est numéroté de 0 à n-1.
On accède à un élément du tableau en lecture ou en écriture en utilisant le nom du tableau suivi des indices entre crochets. Par exemple :
// Déclare un tableau de 5 entiers
int tab[5];
// Met 2 dans la première cellule
tab[0] = 2;
// Met 12 dans la dernière cellule
tab[4] = 12;
// Teste s'il y a bien 12 dans la dernière cellulle
if (tab[4] == 12) printf ("OK\n");
Remarque : il n’est pas possible d’effectuer des opérations d’affectation ou de comparaison sur un tableau dans sa globalité.
if (tab1==tab2)
ne compare pas les tableauxtab1=tab2
ne copie pas le tableau tab2
dans tab1
Pour comparer deux tableaux ou copier un tableau dans un autre, il faut le faire cellule par cellule.
Écrire un programme qui crée un tableau de 10 cellules et en affiche le contenu (sans l'initialiser). L'affichage doit se faire avec une boucle selon l'exemple suivant :
tab[0] = -309253648 tab[1] = 32550 tab[2] = 0 tab[3] = 0 tab[4] = 4195664 tab[5] = 0 tab[6] = 4195328 tab[7] = 0 tab[8] = 609240816 tab[9] = 32765
En reprenant le code de l'exercice 1, écrire une boucle permettant d'initialiser
la première cellule du tableau avec -1
, la seconde avec -2
et ainsi de suite :
tab[0] = -1 tab[1] = -2 tab[2] = -3 tab[3] = -4 tab[4] = -5 tab[5] = -6 tab[6] = -7 tab[7] = -8 tab[8] = -9 tab[9] = -10