Différence entre Tableau et Pointeur

Quelle est la différence entre un tableau et un pointeur? –  Un pointeur peut être utilisé pour accéder aux éléments d’un tableau, en accédant à tout les éléments d’un tableau en utilisant l’arithmétique sur les pointeurs, ce qui rend l’accès plus rapide. Il existe une différence clé entre un pointeur et un tableau, un tableau a un emplacement dans la mémoire contenant des données. Un pointeur est un emplacement (adresse) en mémoire (sans aucune présomption sur ce qui se trouve dans cette adresse).
 
 

Les membres d’un tableau sont accessibles en utilisant l’arithmétique sur les pointeurs

Le compilateur utilise l’arithmétique sur les pointeurs pour accéder aux éléments du tableau. Par exemple, une expression comme tab [i] est traitée comme *(tab + i) par le compilateur. C’est pourquoi les expressions comme *(tab + i) fonctionnent pour un tableau et les expressions comme ptr [i] fonctionnent également pour le pointeur ptr. Voir l’exemple ci-dessous :

#include <stdio.h> 

int main() 
{ 
   int tab[] = {10, 20, 30, 40, 50, 60, 70, 80, 90}; 
   int *ptr = tab; 
   printf("tab[3] = %dn", tab[3]); 
   printf("*(tab + 3) = %dn", *(tab+ 3)); 
   printf("ptr[3] = %dn", ptr[2]); 
   printf("*(ptr + 3) = %dn", *(ptr + 3)); 
   return 0; 
} 

Sortie:
===============
tab[3] = 40
*(tab + 3) = 40
ptr[3] = 40
*(ptr + 3) = 40 
QCM-CQCM en programmation C – Conversions de type – Partie 1QCM sur C avec des réponses pour la préparation des entretiens, des tests en ligne, des examens etc.     1. Quelle est la sortie…Lire plus
Le nom du tableau donne l’adresse du premier élément du tableau

Prenons le programme suivant par exemple.

#include <stdio.h> 

int main() 
{ 
   int tab[] = {5, 10, 20, 30, 40, 50, 60, 70, 80, 90};
   int *ptr = tab;  // Assigne l'adresse du tableau à ptr
   printf("La valeur du premier élément est %d", *ptr); 
   return 0; 
} 

Sortie:
===================================
La valeur du premier élément est 5

 
 

Différences clés entre un tableau et un pointeur
  • Un tableau stocke les variables de types similaires et les types des variables doivent correspondre au type de tableau. Tandis qu’un pointeur stocke l’adresse d’une variable.
  • Nous pouvons générer un tableau de pointeurs, c’est-à-dire un tableau dont les variables sont des pointeurs. Ainsi, nous pouvons créer un pointeur qui pointe vers un tableau.
  • Le nom de tableau représente une adresse de mémoire fixe qui ne peut pas être modifiée. Vous pouvez l’indexer, mais vous ne pouvez pas modifier l’adresse à laquelle il se réfère. Alors qu’un pointeur est une variable contenant l’adresse de quelque chose. Comme il s’agit d’une variable, vous pouvez modifier l’adresse stockée dans cette variable pour indiquer autre chose.
  • La taille du tableau détermine le nombre de variables pouvant être stockées alors un pointeur peut stocker l’adresse d’une seule variable
Différence entre la surcharge de fonctions et la redéfinition de fonctions en C ++Différence entre la surcharge de fonctions et la redéfinition de fonctions en C ++La surcharge et la redéfinition de fonctions sont des exemples de polymorphisme, mais elles sont complètement différentes. Avant de discuter de la différence entre les…Lire plus
Conclusion

Toujours considérez un tableau comme un bloc de mémoire à un emplacement fixe. Le nom du tableau est une adresse qui ne peut pas être modifié. Tandis qu’un pointeur est juste une variable qui contient l’adresse de quelque chose et vous pouvez changer son contenu en stockant une adresse différente dans cette variable, pour qu’elle pointe vers un autre tableau, ou vers un autre élément.
 
 

Partagez cet article

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *