Les tableaux

  1. Introduction
  2. Déclaration d’un tableau
  3. Accéder aux éléments d’un tableau
  4. Manipulation et initialisation des éléments
  5. Les tableaux et les pointeurs
  6. Exemple

1. Introduction

On appelle tableau, un ensemble d’emplacements mémoire qui portent le même nom et même type. Les données d’un tableau sont stockées dans la mémoire de manière contigüe, c’est-a-dire, les unes après les autres sans laisser entre elles aucune case mémoire vide ou une case occupée par un élément externe. Pour vous dire, si par exemple dans un tableau de 6 éléments, le premier élément occupe la case mémoire numéro 5, le deuxième occupera la case mémoire numéro 6, le troisième occupera la case mémoire numéro 7, le quatrième occupera la case mémoire numéro 8, le cinquième occupera la case mémoire numero 9 et le sixième occupera la case mémoire numéro 10.
Comme vous voyez, dès la case numéro 5 jusqu’à la case numéro 10, aucune case n’a été laissée vide ni occupée par un élément n’appartenant pas au tableau.

En langage C (et C++), il existe deux types de tableaux :

  • Les tableaux statiques : leurs tailles sont connues lors de la compilation.
  • Les tableaux dynamiques : leurs tailles sont connues lors de l’exécution

Et parmi les tableaux statistiques et dynamiques, on peut distinguer les tableaux à une dimension (unidimensionnels) et les tableaux à plusieurs dimensions (multidimensionnels).

2. Déclaration d’un tableau

Pour déclarer un tableau, voici la syntaxe :
Type nom-du-tableau [index1] [index2] … [indexn]

  • Type : il s’agit de type de données des éléments du tableau. Dans un tableau, tous les éléments sont de même type.
  • nom-du-tableau : il s’agit du nom de la variable qui définit le tableau ; autrement dit, le nom du tableau.
  • le nombre d’index définit le nombre de dimensions.

Exemple 1 :
ci-dessus, on a un tableau nommé montableau et qui contient 10 éléments. montableau a un seul index, donc il est unidimensionnel.

Exemple 2 :
ici montableaucontient 20 éléments (5*4). Il a 5 lignes et 4 colonnes. Il a deux index, donc il est multidimensionnel.

3. Accéder aux éléments d’un tableau

Il faut noter que dans un tableau, l’indice du premier élément est 0. Le dernier élément a comme indice le nombre d’éléments -1. Ainsi si nous voulons accéder au nème élément d’un tableau, nous faisons ceci :
nom-du-tableau[n-1]

4. Manipulation et initialisation des éléments

Voyons comment ça se passe la manipulation d’un élément dans un tableau. Prenons l’exemple d’un tableau de 6 éléments de de type int.

pour affecter la valeur 63 au quatrième élément on fera ceci : Jusqu’à là, c’est plus simple.

Exemple :

Il est aussi souvent qu’on initialise un tableau lors de sa définition. Prenons le cas, où notre tableau contient 23, 105, 12, 63, 78, 1. Dans on peut faire ceci :

Il faut noter que s’il y a moins d’éléments entre les accolades que les éléments qu’il faut, les dernières cases mémoire qui doivent être occupées par le tableau, seront remplies par des 0.

5. Les tableaux et les pointeurs

L’un des plus grands avantages des pointeurs, c’est le fait qu’on peut créer des tableaux dynamiques avec.

La notion tableau et pointeur, est une notion très importante en langage C. Tout programmeur en langage C ne peut pas échapper le mariage entre pointeur et tableau. Et pour vous dire la vérité, cette notion est un peu compliquée et demande beaucoup d’explications.

Bon d’accord, je n’essaie pas de vous faire peur. Mais de toute façon, j’ai peu de temps pour vous expliquer cette notion.

Commençons par un exemple. Vous vous souvenez de montableau non ?

Résultat :

Ici on constate que le pointeur montableau pointe vers le premier élément du tableau montableau. Ceci dit que le nom d’un tableau peut s’utiliser comme pointeur sur son premier élément.

Alors maintenant, voyons à travers un exemple, comment avec un pointeur, nous pouvons afficher la valeur du quatrième élément.

Résultat :

Maintenant voyons comment peut-on faire une allocation dynamique.
Pour ceux qui ne savent pas, l’allocation dynamique consiste à allouer de l’espace mémoire au cours de l’exécution d’un programme. Pour faire de l’allocation de la mémoire on utilise calloc(), free(), malloc() et realloc() .

Voyons un exemple d’un tableau dynamique de n éléments.



Une question? Cliquez ici pour la poser.

Retour sur le portail du langage C/C++