FriconiX
Des milliers de pictogrammes gratuits dessinés avec amour!

Cours 9.1. Syntaxe des tableaux en C

Introduction

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.

Syntaxe

La syntaxe de cette fonction est illustrée ci-dessous :

Syntaxe d'une tableau en C

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.

Accès aux cellules

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é.

Pour comparer deux tableaux ou copier un tableau dans un autre, il faut le faire cellule par cellule.

Exercices

Exercice 1

É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 un 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

Exercice 2

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

Quiz

En C, un tableau ...

Vérifier Bravo ! Essaie encore ...

Combien de cellules comporte le tableau suivant ?

float tab[12];
Vérifier Bravo ! Essaie encore ...

Quelle est la taille en mémoire du tableau suivant ? Nous supposerons que le type float est codé sur 4 octets.

float tab[4];
Vérifier Bravo ! Essaie encore ...

Considérons le tableau suivant. Quelles propositions sont exactes ?

char tab[4];
Vérifier Bravo ! Essaie encore ...

Quel code recopie le tableau 2 dans le tableau 1 ?

int tab1[100];
int tab2[100];
Vérifier Bravo ! Essaie encore ...

En supposant l'existence d'un tableau de 10 cellules, tab[1] correspond à ... ?

Vérifier Bravo ! Essaie encore ...

Voir aussi


Dernière mise à jour : 01/11/2020