Leçon 18 : Les pointeurs — adresses, & et *
Chaque variable de ton programme habite à une vraie adresse en mémoire — exactement comme un appartement dans une rue. L'opérateur &x donne l'adresse de x (le mystère de scanf("%d", &x) depuis la leçon 3 est enfin résolu !). Un pointeur est une variable qui stocke une adresse : int *p = &x;. Avec *p
Un pointeur est un papier avec l'adresse d'un appartement. &x écrit l'adresse sur le papier, et *p dit 'va à l'adresse indiquée sur le papier et regarde (ou change) ce qu'il y a dedans'. Changer via le papier, c'est changer le véritable appartement.
- adresse mémoire
- L'emplacement numérique où une variable habite en mémoire. Chaque variable reçoit une adresse.
- & (opérateur d'adresse)
- &x renvoie l'adresse de x — pas sa valeur.
- pointeur
- Une variable qui stocke l'adresse d'une autre variable. On le déclare ainsi : int *p = &x;.
- * (déréférencement)
- *p accède à la valeur à l'adresse que p contient. Lecture et écriture : *p = 99; change x.
- NULL
- Une valeur spéciale qui signifie 'ce pointeur ne pointe sur rien'. Toujours vérifier avant utilisation.