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.

Notion de pointeur :

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.


Définition d'un pointeur :

Un pointeur désigne des @ en mémoire, le nom et la nature des éléments pointés.


Déclaration d'un pointeur :

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.

Exemple :

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

 

 

 

 

Autres exemples

Notion de pointeur | Définition d'un pointeur | Déclaration d'un pointeur | Exemples |