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.