Concepts de programmation: pointeurs

Regardons comment les pointeurs sont utilisés dans le langage de programmation C.

Nous allons traiter deux variables:

aptr

Nous allons également rencontrer deux caractères clés:

- where
would return the address location of variable
- where
means follow the memory address stored in ptr and set that location to 8

Supposons que a est situé à l’adresse 0x8130 en mémoire et ptr à 0x8134; supposons également qu’il s’agit d’une machine 32 bits telle qu’un int soit 32 bits dans taille. Voici ce qui serait en mémoire après l’exécution de l’extrait de code suivant:

int a = 5;int *ptr = NULL;

Adresse Contenu
0x8130 0x00000005
0x8134 0x00000000

(Le pointeur NULL affiché ici est 0x00000000.) En attribuant l’adresse de a à ptr:

 ptr = &a;

renvoie les valeurs de mémoire suivantes:

Adresse Contenu
0x8130 0x00000005
0x8134 0x00008130

Puis en déréférençant ptr en codant:

 *ptr = 8;

l’ordinateur prendra le contenu de ptr (qui est 0x8130), « localisez » cette adresse et attribuez 8 à cet emplacement pour obtenir la mémoire suivante:

Adresse Contenu
0x8130 0x00000008
0x8134 0x00008130

Manifestement, accéder à a donnera la valeur 8 car l’instruction précédente a modifié le contenu de

au moyen du pointeur ptr.

Leave a Reply

Laisser un commentaire

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