Chapitre 11 : Les Pointeurs¶
Découvrez l'un des concepts les plus puissants et les plus redoutés du langage C : la manipulation directe des adresses mémoire.
Concepts abordés¶
- Adresse vs Valeur : Comprendre qu'une variable possède une valeur et un emplacement en mémoire.
- L'opérateur de référencement
&: Obtenir l'adresse mémoire d'une variable. - L'opérateur de déréférencement
*: Accéder à la valeur stockée à une adresse précise. - Passage par pointeur : Permettre à une fonction de modifier les variables d'une autre fonction.
- Arithmétique de pointeurs : Se déplacer en mémoire, particulièrement utile pour parcourir des tableaux de manière efficace.
- Pointeur NULL : Sécuriser son code en identifiant les pointeurs qui ne pointent vers rien.
Explications du code¶
pointeurs.c¶
Ce fichier propose une progression pédagogique : manipulation de variables simples via des pointeurs, démonstration du lien étroit entre tableaux et pointeurs, et introduction à l'arithmétique de pointeurs.
Conseils et astuces¶
- Initialisation : Un pointeur non initialisé pointe vers une adresse aléatoire. Déréférencer un tel pointeur causera un "Segmentation Fault". Initialisez toujours vos pointeurs à
NULLou à une adresse valide. - La règle d'or : Avant de déréférencer (utiliser
*p), vérifiez toujours si le pointeur n'est pasNULLavec unif (p != NULL). - Taille des pointeurs : Sur un système 64 bits, tous les pointeurs font 8 octets, quel que soit le type de donnée vers lequel ils pointent (
char*,int*, etc.).