Open Source Your Knowledge, Become a Contributor
Technology knowledge has to be shared and made accessible for free. Join the movement.
Introduction aux pointeurs
Pour réaliser les exercices suivants il est utile d'avoir compris la théorie sur les pointeurs. Les pointeurs constituent une notion essentielle du langage C, mais néanmoins un peu complexe au début. Il faut prendre le temps de bien comprendre comment ils fonctionnent car beaucoup d'autres notions sont basées dessus.
Rappels :
- Chaque variable est stockée à une adresse précise en mémoire (en quelque sorte, son numéro d'ordre).
- Un pointeur est semblable à une variable stockant un nombre, à ceci près que le nombre stocké est une adresse à laquelle se trouve une variable en mémoire.
- Un symbole
&
devant un nom de variable (ex. :&age
) désigne son adresse au lieu de sa valeur. - Un symbole
*
devant un nom de pointeur désigne la variable stockée à l'adresse indiquée par le pointeur.
Exemple 1
Essayer le code ci-dessous.
Note : %p
permet d'afficher une adresse.
On peut remarquer que l'adresse des variables a
, b
et c
est la même avant et après la modification. L'adresse de la variable est bien indépendante de la valeur de la variable.
Exemple 2
Avant de compléter le code, exécuter le une fois pour constater les valeurs de pta
et ptb
. Une fois compléter exécuter le code plusieurs fois.
Exemple 3
Exemple 4
Cependant il faut être attentif au contexte dans lequel s'utilise une variable. Dans l'exemple qui suit, nous avons f()
qui est appelé une fois depuis le main()
et une autre depuis g()
. Chaque appel de f()
produit un contexte différent pour son paramètre p
.
Quizz (facultatif)
Afin de tester votre compréhension de la matière, complèter ce questionnaire