Allocation
dynamique: définition et utilité
- Rappel: jusqu'à
présent l'espace nécessaire en mémoire pour les
variables est prévu avant l'exécution du programme et la
réservation
et la libération de l'espace mémoire sont
gérées par le système (réservation en zone
des données pour les variables statiques ou sur la pile pour les
variables automatiques).
- Définition de l'allocation
dynamique: C'est de l'espace mémoire qui va être
réservé et libéré pendant
l'exécution du programme par le programmeur.
- Comment?: Le programmeur a
à sa disposition deux fonctions (dans la bibliothèque stdlib): malloc pour
réserver de l'espace en mémoire dynamique et free pour libérer de l'espace en
mémoire dynamique.
- Pourquoi faire?:
Actuellement le programmeur est obligé de surdimensionner
les variables pour tenir compte des différents cas de figure.
- Problèmes:
- La place est réservée pour rien si le
cas réel est bien en dessous du surdimensionnement.
- Le programme ne peut pas tenir compte des cas
où la réalité demande un espace au dessus du
surdimensionnement prévu.
- Zone concernée?:
C'est une zone qu'on appelle le "tas" qui est utilisée pour
l'allocation dynamique.
suivant
plan