Utilité des pointeurs


Vous savez maintenant comment se comporte le stockage de valeur dans la RAM. Mais imaginez que je veux stocker un mot... (suite de lettres).
Vous avez peut-être une petite idée comment cela fonctionne. Prenons pour exemple le mot 'Corwin'. Si je le stock dans la RAM lettre par lettre cela ferait :

Ceci s'appelle une chaine de caractères (ou un tableau de caractères).

Maintenant que vous savez comment stocker un tableau dans la RAM nous allons expliquer réellement ce qu'est un pointeur.

Il est toujours très difficile d'expliquer l'utilité des pointeurs. Pourtant nous allons essayer de le faire :)
Par définition les pointeurs permettent juste de pointer vers une case de la RAM grâce à son adresse.

En pratique les pointeurs sont des variables (donc stocker dans la RAM) d'une taille de 4 octets pour pouvoir avoir comme valeur l'adresse d'une autre case.


Le pointeur à pour valeur 6. Il va donc pointer vers l'adresse 0x006.

Vous avez toujours du mal à comprendre ce qu'est un pointeur ?
Imaginez alors que la RAM c'est la Terre. Et que chaque case de la terre c'est un humain.
Chaque humain pense à quelque chose qu'on appellera sa valeur. Chaque humain est à un emplacement qui est son adresse.

Donc par exemple Paul pense à une voiture, Jean pense à un chien.


Vous, vous êtes tout simplement un pointeur. Vous êtes donc un humain (donc une case dans la RAM) mais votre utilité est de pointer avec votre doigt les autres humains pour obtenir sa valeur.
Si vous pointez du doigt Jean vous obtiendrez "chien", si vous pointez Paul vous aurez "voiture".
Vous êtes un lien sur terre qui permet d'accéder à tout le monde. Juste en pointant du doigt une position !

Cela n'explique toujours pas à quoi sert un pointeur...
En réalité un pointeur permet de simplifier l'accès à la RAM. Vous pouvez vous positionner n'importe où dans la RAM juste en pointant sur une adresse.

L'utilité ? Reprenons l'exemple du tableau.
Spoiler:

Si je pointe sur la première case (0x001), j'aurais la valeur 'C'. Il ne me reste qu'à pointer à la case suivante pour avoir la deuxième lettre de mon mot !
Comment faire ? Juste en incrémentant de 1 l'adresse que je suis en train de pointer.