« Langage C/Pointeurs » : différence entre les versions

Contenu supprimé Contenu ajouté
m Robot : Remplacement de texte automatisé (- l'utiliser + l’utiliser)
m Robot : Remplacement de texte automatisé (-\n(==={0,3})(?: *)([^\n=]+)(?: *)\1(?: *)\n +\n\1 \2 \1\n)
Ligne 7 :
}}
 
=== Introduction ===
 
Un pointeur est une variable, qui au lieu de posséder une valeur "classique", contient l'adresse en mémoire d'une autre variable. On dit qu’il pointe sur cette variable. Un pointeur est reconnaissable par le symbole '*'.
 
==== Illustration: ====
 
int *ptr;
Ligne 19 :
On dit que ''ptr'' pointe sur ''x'', il contient donc l'adresse en mémoire de la variable ''x''. Il y a maintenant deux façon d'accéder à ''x'', une façon direct et une autre indirect.
 
==== Accès direct et indirect à une variable: ====
 
printf("accès direct sur la valeur de x: %d \n", x);
Ligne 29 :
Il faut bien comprendre que l'accès direct comme indirect agit sur la variable ''x''. C'est-à-dire que l’on modifie réellement la valeur de ''x'' dans les deux cas.
 
=== Pointeurs et tableaux ===
 
==== Tableau simple ====
int *ptr;
Ligne 40 :
Pour un tableau, il n'y a pas besoin de recourir au caractère '&' car ''tab'' sans indice prend la valeur de l'adresse en mémoire du premier élément du tableau ''tab''.
 
===== Accès au différents éléments d'un tableau =====
 
for(x=0; x<10; x++)
*(ptr+x)= 0; // revient à dire "tab[x]=0"
 
==== Tableau deux dimensions ====
 
int *ptr;
Ligne 54 :
Le tableau à deux dimensions sera ainsi "déroulé" et ramené à un tableau simple. L'accès aux différents éléments du tableau se fait donc comme pour un tableau simple.
 
=== Pointeur et structure ===
 
Définissons une structure pour ensuite l’utiliser dans les différents exemples:
Ligne 71 :
ptr=pointsA;
 
==== Accès aux éléments d'une structure ====
 
printf("Accès direct à x= %d \n", pointsA.x);
Ligne 84 :
printf("Autre accès indirect à nom_point=%c \n", ((*ptr).nom_point));
 
=== Conclusion ===
 
Un pointeur doit en règle général toujours être du même type que la variable sur laquelle il va pointer. On accède à son adresse de la même façon que pour une variable classique.