Académique Documents
Professionnel Documents
Culture Documents
M. Hadjila
4 novembre 2018
1 / 21
Une question d’adresse
Lorsque l’on déclare une variable, l’ordinateur nous prête une place
dans sa mémoire et y accroche une étiquette portant le nom de la
variable.
2 / 21
Une question d’adresse
2
3 / 21
Une question d’adresse
3
4 / 21
Une question d’adresse
4
Le point important ici est que chaque variable possède une seule
adresse et que chaque adresse correspond à une seule variable.
L’adresse est donc un deuxième moyen d’accéder à une variable. On
peut atteindre la case jaune du schéma par deux chemins
différents :
On peut passer par son nom (l’étiquette) comme on sait déjà
le faire.
Mais on peut aussi accéder à la variable grâce à son adresse
(son numéro de case).
On pourrait alors dire à l’ordinateur "Affiche moi le contenu de
l’adresse 53768" ou encore "Additionne les contenus des adresses
1267 et 91238".
6 / 21
Afficher l’adresse
1
7 / 21
Les pointeurs
1
8 / 21
Déclarer un pointeur
1
9 / 21
Stocker une adresse
1 - Exemple
10 / 21
Stocker une adresse
2
#include <iostream>
using namespace std ;
int main()
{
int ageUtilisateur(16) ;
int *ptr(0) ;
ptr = &ageUtilisateur ;
cout « "L’adresse de ’ageUtilisateur’ est : " « &ageUtilisateur «
endl ;
cout « "La valeur de pointeur est : " « ptr « endl ;
return 0 ;
}
12 / 21
Accéder à la valeur pointée
1
13 / 21
Accéder à la valeur pointée
2
14 / 21
L’allocation dynamique
La gestion automatique de la mémoire
15 / 21
L’allocation dynamique
Allouer un espace mémoire - 1
16 / 21
L’allocation dynamique
Allouer un espace mémoire - 2
17 / 21
L’allocation dynamique
Allouer un espace mémoire - 3
18 / 21
L’allocation dynamique
Libérer la mémoire - 1
Une fois que l’on n’a plus besoin de la case mémoire, il faut la
rendre à l’ordinateur. Cela se fait via l’opérateur delete.
int *pointeur(0) ;
pointeur = new int ;
delete pointeur ; //On libère la case mémoire
19 / 21
L’allocation dynamique
Libérer la mémoire - 2
Figure : Un pointeur pointant sur une case vide après un appel à delete
20 / 21
L’allocation dynamique
Libérer la mémoire - 3
21 / 21