Programmation C · 3 min read · Feb 14, 2026

Tutoriel de programmation C sous Linux Partie 7 : Tableaux

Nous avons déjà discuté du concept de variables en programmation C (ici et ici). Pour rafraîchir rapidement, une variable est quelque chose qui peut contenir une valeur d’un type particulier - cela peut être un entier, un caractère, ou même un flottant. Cependant, il y a une limitation des variables : elles ne peuvent contenir qu’une seule valeur à un moment donné.

Cela signifie que si vous souhaitez contenir plusieurs valeurs, vous devrez gérer un nombre égal de variables. Par exemple, si vous voulez qu’un programme accepte 10 valeurs entières de l’utilisateur et les affiche ensuite, alors soit vous l’écrirez de cette manière :

#include   
  
int main()  
{  
 int a=0,b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;  
 printf("Entrez 10 valeurs entières\n");  
 scanf("%d",&a);  
 scanf("%d",&b);  
 scanf("%d",&c);  
 scanf("%d",&d);  
 scanf("%d",&e);  
 scanf("%d",&f);  
 scanf("%d",&g);  
 scanf("%d",&h);  
 scanf("%d",&i);  
 scanf("%d",&j);  
   
 printf("Vous avez entré les valeurs suivantes :\n");  
 printf("%d\n",a);  
 printf("%d\n",b);  
 printf("%d\n",c);  
 printf("%d\n",d);  
 printf("%d\n",e);  
 printf("%d\n",f);  
 printf("%d\n",g);  
 printf("%d\n",h);  
 printf("%d\n",i);  
 printf("%d\n",j);  
   
  
 return 0;  
}

Ou de la manière suivante :

#include   
  
int main()  
{  
 int a=0,b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;  
   
 printf("Entrez 10 valeurs entières\n");  
 scanf("%d %d %d %d %d %d %d %d %d %d",&a,&b,&c,&d,&e,&f,&g,&h,&i,&j);  
   
 printf("Vous avez entré les valeurs suivantes :\n");  
 printf("%d %d %d %d %d %d %d %d %d %d\n",a,b,c,d,e,f,g,h,i,j);  
   
  
 return 0;  
}

La deuxième approche peut être légèrement meilleure si vous comparez en termes de lignes de code écrites, mais il y a encore une meilleure façon, et c’est d’utiliser un tableau d’entiers.

Oui, s’il y a un besoin de contenir plusieurs valeurs du même type, alors vous devriez opter pour un tableau. Voici comment un tableau d’entiers capable de contenir 10 valeurs est défini :

int arr[10]

Ici, ‘int’ fait référence au type de valeurs que le tableau ‘arr’ stockera. Le nombre 10 dans les crochets indique que la capacité de ‘arr’ est de 10 valeurs. Maintenant, voici un morceau de code utilisant ce tableau :

#include   
  
int main()  
{  
 int arr[10],i;  
   
 printf("Entrez 10 valeurs entières\n");  
   
 for(i=0;i<10;i++)  
 scanf("%d",&(arr[i]));  
   
 printf("Vous avez entré les valeurs suivantes :\n");  
   
 for(i=0;i<10;i++)  
 printf("%d\n",arr[i]);  
   
  
 return 0;  
}

Notez que nous avons déjà discuté des fonctions scanf et printf dans l’un de nos tutoriels précédents, donc vous pouvez vous référer à ces articles si vous souhaitez en savoir plus à leur sujet.

Revenons aux tableaux, vous aurez observé que la boucle ‘for’ dans le code ci-dessus commence par i=0. C’est parce que les indices de tableau (le nombre à l’intérieur des crochets) commencent toujours à zéro. Donc ici, dans notre cas, arr[0] fait référence à la première valeur entrée par l’utilisateur, arr[1] fait référence à la deuxième valeur, et ainsi de suite jusqu’à arr[9] qui fait référence à la 10ème valeur.

Il convient également de mentionner que vous pouvez facilement accéder à l’adresse mémoire de chaque valeur stockée dans le tableau. Cela peut être fait en utilisant le nom du tableau, qui est ‘arr’ dans ce cas. Donc si vous utilisez simplement ‘arr’ dans le code, alors c’est rien d’autre que l’adresse mémoire du premier élément.

De même, si vous souhaitez accéder à l’adresse mémoire du deuxième élément, utilisez simplement ‘arr+1’. Pour le troisième élément, utilisez ‘arr+2’, et ainsi de suite. Le morceau de code suivant et sa sortie devraient vous donner une meilleure idée.

#include   
  
int main()  
{  
 int arr[10],i;  
   
 printf("L'adresse des première et deuxième valeurs est : %u %u\n", arr, arr+1);  
   
 return 0;  
}

Et voici la sortie :

L'adresse des première et deuxième valeurs est : 2904035888 2904035892

Comme vous pouvez le voir, il y a une différence de 4 octets dans ces adresses - c’est parce qu’une valeur entière occupe 4 octets sur mon système.

Ici, dans ce tutoriel, nous avons discuté des bases des tableaux. Notez que nous n’avons donné qu’un exemple de tableau d’entiers. Vous pouvez avoir des tableaux d’autres types également, comme des caractères. Essayez les exemples que nous avons utilisés dans ce tutoriel, et faites-le nous savoir dans la section des commentaires ci-dessous si vous avez des doutes ou des questions.

Share: X/Twitter LinkedIn

Recevez de nouveaux articles dans votre boîte de réception.

Aucun spam. Désabonnez-vous à tout moment.