Langage c
Notion de pointeur | Définition d'un pointeur | Déclaration d'un pointeur | Exemples |
Nous avons déjà vu que & était un opérateur un peu particulier, fournissant l'adresse de la variable mentionnée à sa suite. Nous utilisons d'ailleurs fréquemment l'instruction de lecture scanf.
En langage C, il est possible de définir une variable destinée à contenir une adresse. On pourrait dire qu'une telle variable est de type pointeur.
Un pointeur contenant l'adresse d'une variable, donc pointant vers celle-ci.
Un pointeur désigne des @ en mémoire, le nom et la nature des éléments pointés.
Un pointeur permet de désigner(d'adresser ) une zone mémoire.
Int *pointeur : Vous venez de déclarez un pointeur dont le nom est "pointeur" et qui pointe sur un entier.
Remarque : A la définition d'un pointeur, vous avez automatiquement une étoile"*"avant d'écrire le nom du pointeur, ce symbole permet de montrer que l'on déclare un pointeur de type ? et non une variable.
Nous verrons plus tard, que cette * a une autre signification.
Ensuite déclarons une variable, par exemple int var=4;
Puis ensuite affectons la variable au pointeur comme ceci : pointeur=&var ;
La notion de pointeur est trés voisine de celle du tableau
Char *p="salut" == char p[]="salut"
Dans un premier temps, *p pointe sur l'adresse de s
Par contre p[] pointe sur t[0] qui correspond à l'adresse de S
Rappel : Le symbole & est un opérateur "unaire" qui fournit l'adresse de la variable figurant à sa suite.
On dit alors que pointeur pointe sur var.
Attention : Lorsque vous déclarez plusieurs pointeurs, n'oubliez pas de mettre des * à chaque fois.
Lors de la définition, le pointeur reçoit une valeur d'adresse
aléatoire(l'erreur provoqué est appelé : BUS ERROR DUMPED
ou MEMORY FAULT), vous aurez cette erreur si vous n'avez pas initialiser votre
variable.
Programme :
Résultat :
Voici un petit tableau récapitulatif :
Prg
|
Remarque :
|
Int i;
|
int *p;
|
i=3;
|
p=&i;
|
*p=3;
|
Je déclare une variable
i de type entier
|
Je déclare un pointeur
dont le nom est p qui pointe sur un entier
|
J'affecte 3 à la variable
i
|
Le pointeur p pointe sur
l'adresse de i
|
Le contenu que pointe p est
3
|
Notion de pointeur | Définition d'un pointeur | Déclaration d'un pointeur | Exemples |