Retour à la page d'accueil

Développement :
Algorithmique

Auteur : Jean HENRI - Dernière mise à jour : 13 décembre 2001

Pour m'écrire

Allocation dynamique

Données

Une donnée de type POINTEUR se définit ainsi :

Ptr_Nom est un pointeur de TypeDonnee

Il existe une valeur constante représentant une adresse de valeur nulle :

Ptr_VIDE est un pointeur

Traitements

algorithme Allouer (S : Ptr_Nom est un pointeur)
algorithme Liberer (E : Ptr_Nom est un pointeur)

Opérations

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