COURS et TP DE LANGAGE C++
Chapitre 5
Les pointeurs
Joëlle MAILLEFERT
joelle.maillefert@iut-cachan.u-psud.fr
IUT de CACHAN
Département GEII 2
COURS et TP DE LANGAGE C++
Chapitre n° 05
- 36 -
CHAPITRE 5
LES POINTEURS
Que ce soit dans la conduite de process, ou bien dans la programmation orientée objet,
l’usage des pointeurs est extrêmement fréquent en C++.
L'OPERATEUR ADRESSE &
L'opérateur adresse & indique l'adresse d'une variable en mémoire.
Exemple:
int i = 8;
cout<<"VOICI i:"<<i;
cout<<"\nVOICI SON ADRESSE EN HEXADECIMAL:"<<&i;
Exercice V_1: Exécuter l’exemple précédent, et indiquer les cases-mémoire occupées par la
variable i.
LES POINTEURS
Définition: Un pointeur est une adresse. On dit que le pointeur pointe sur une variable
dont le type est défini dans la déclaration du pointeur. Il contient l’adresse de la
variable.
DECLARATION DES POINTEURS
Une variable de type pointeur se déclare à l'aide du type de l'objet pointé précédé du symbole
*.
Exemple:
char *pc;
pc est un pointeur sur un objet de type char
int *pi;
pi est un pointeur sur un objet de type int
float *pr;
pr est un pointeur sur un objet de type float
Excercice V_1: Modifier l’exercice 1 comme ci-dessous, et conclure :
int i = 8;
int *p; // déclaration d’un pointeur sur entier
cout<<"VOICI i : "<<i;
cout<<"\nVOICI SON ADRESSE EN HEXADECIMAL : "<<&i;
p = &i; // p contient l’adresse de i, ont peut dire qu’il pointe sur i
cout<<"\nVOICI SON ADRESSE EN HEXADECIMAL : "<<p;
COURS et TP DE LANGAGE C++
Chapitre n° 05
- 37 -
MANIPULATION DE LA CASE MEMOIRE
En dehors de la partie déclarative, l'opérateur * désigne en fait le contenu de la case
mémoire pointée.
Excercice V_1: Modifier l’exercice 1 comme ci-dessous, et conclure :
int i = 8;
int *p;
cout<<"VOICI i :"<<i;
cout<<"\nVOICI SON ADRESSE EN HEXADECIMAL :"<<&i;
p = &i;
cout<<"\nVOICI SON ADRESSE EN HEXADECIMAL :"<<p;
cout<<"\nVOICI i :"<<*p;
*p = 23;
cout<<"\nVOICI i:"<<i;
cou