![]() |
Développement :
Auteur : Jean HENRI - Dernière mise à jour : 13 décembre 2001 |
![]() Pour m'écrire |
Une donnée de type POINTEUR se définit ainsi :
Ptr_Nom est un pointeur de TypeDonneeIl existe une valeur constante représentant une adresse de valeur nulle :
Ptr_VIDE est un pointeur
algorithme Allouer (S : Ptr_Nom est un pointeur)algorithme Liberer (E : Ptr_Nom est un pointeur)
données : Ptr_Valeur1, Ptr_Valeur2 sont des pointeurs d'entiers début
Allouer (Ptr_Valeur1) // Ptr_Valeur1 pointe sur un emplacement mémoire qui contient un entier
Ptr_Valeur1^ <-- 12 // L'emplacement mémoire pointé par Ptr_Valeur1 contient l'entier 12
Ptr_Valeur2 <-- Ptr_VIDE // Ptr_Valeur2 ne pointe sur aucun emplacement mémoire, // l'écriture Ptr_Valeur2^ n'a donc AUCUN SENS Ptr_Valeur2 <-- Ptr_Valeur1 // Ptr_Valeur2 pointe vers le même emplacement mémoire que Ptr_Valeur1 afficher Ptr_Valeur2^ // la valeur 12 sera affichée à l'écran
liberer (Ptr_Valeur2) // L'espace mémoire est restitué, Ptr_Valeur2 contient Ptr_Vide
// et Ptr_Valeur1 pointe maintenant vers un emplacement mémoire // dont le contenu n'a plus de sens ! Ptr_Valeur1 <-- Ptr_VIDE // Ptr_Valeur1 ne pointe plus sur un emplacement mémoire
fin