Les Tableaux en C

Introduction aux Tableaux

Dans le langage C, un tableau représente une collection de valeurs de type identique, disposées dans une structure de longueur fixe. Cette fonctionnalité est très bénéfique pour organiser et gérer des ensembles de données liés au sein de vos programmes.

Déclaration d'un Tableau

Pour déclarer un tableau, vous devez d'abord spécifier le type de données, suivi d'un nom descriptif pour le tableau, puis des crochets contenant la longueur du tableau (c'est-à-dire le nombre d'éléments qu'il peut contenir) :

 type nom[longueur];

Par exemple, pour déclarer un tableau d'entiers nommé notes pouvant contenir 6 éléments :

 int notes[6]; // Tableau pour six entiers

Une autre méthode consiste à omettre la longueur et à initialiser le tableau directement avec des valeurs, séparées par des virgules dans des accolades :

 int notes[] = {96, 90, 78, 84, 88, 92};

Accéder aux Valeurs avec des Index

Les valeurs dans un tableau sont accessibles par leur index, c'est-à-dire leur position dans la structure. Par exemple :

 char voyelles[] = {'a', 'e', 'i', 'o', 'u'};

Il est essentiel de se rappeler qu'en C, les index commencent à 0 :

      +-------------------------+
Valeur | 'a'  'e'  'i'  'o'  'u' |
      +-------------------------+
Index  |  0    1    2    3    4  |
      +-------------------------+

Pour accéder à un élément, il suffit d'utiliser le nom du tableau et le numéro de l'index correspondant : - voyelles[0] renvoie 'a'
- voyelles[1] renvoie 'e'
- voyelles[2] renvoie 'i'
- voyelles[3] renvoie 'o'
- voyelles[4] renvoie 'u'

Voici un exemple d'accès à une valeur :

 char voyelles[] = {'a', 'e', 'i', 'o', 'u'};
 putchar(voyelles[3]); // Affiche : o

Exemple Pratique

Prenons un cas pratique où nous souhaitons stocker les mesures de neige (en pouces) des 7 derniers jours :

#include 
int main() {
  int neige[] = {10, 13, 14, 11, 9, 8, 6};
  printf("%d\n", neige[0]); // Affiche la première valeur
  neige[2] = 16; // Met à jour un élément
  printf("%d\n", neige[2]); // Affiche la valeur mise à jour
  return 0;
}

L'exécution de ce code afficherait :

10
16