
Principe
Pointeur
Les pointeurs sont un outils du langage C qui peuvent s’avérer très utile.Ils permettent de changer la valeur d’une variable par le biais d’une initialisation sur l’adresse de la variable concernée.
Si l’on envoie un pointeur en paramètre d’une fonction celui ci permettra de changer la valeur de la variable initialement pointée sans que la fonction ait à renvoyer un paramètre (return).
Principe
signed short *ptr; /*définit une variable de type pointeur sur un signed short*/
signed short init; /*variable d'initialisation du pointeur*/
init=7;
ptr=&init; /*donne l'adresse de init au pointeur (sinon on la connaît pas il a donc l'adresse et la valeur de init)*/
printf("%hd",*ptr); /* affiche la valeur du pointeur (ici ce sera 7 car il pointe sur init)*/
*ptr=8; /* le pointeur pointe désormais sur 8 */
printf("%hd",init) /* affiche init qui vaut maintenant 8 (on l'a modifié via le pointeur)*/
signed short *nom_du_pointeur; /*définition d’une variable de type pointeur en signed short*/
signed short var; /*définition d’une variable “ var “ de même type que le pointeur*/
var=7; /*attribution d’une valeur initiale à var*/
nom_du_pointeur=&var; /* initialisation du pointeur, c a d, attribution de l’adresse de var au pointeur*/
printf("%hd",*nom_du_pointeur); /* affiche la valeur du pointeur grace a “ * ”, dans ce cas le pointeur retournera la valeur contenue à l’adresse de var c’est a dire 7)*/
*nom_du_pointeur=8; /*comme le pointeur pointe sur var, la valeur de var n’est plus 7 mais 8*/
printf("%hd",var); /*affiche la nouvelle valeur de var qui a été modifié par le pointeur c a d : 8*/
- Il faut toujours initialiser un pointeur en lui donnant une adresse,
sinon on ne sait pas où il pointe .
- Le pointeur doit toujours être du même type que la variable “pointée”.
- *ptr; mettre l'étoile devant votre pointeur permet d'agir sur la
valeur au bout du pointeur .
- ptr; sans l'étoile on agit sur son adresse .
Exemple
Syntaxe
Remarques