Différences entre les versions de « Structures de données/Pointeurs »

m
→‎Utilisation : coq. + typo.
m (→‎Utilisation : coq. + typo.)
[[Image:StructDonnees_Memoires_pointeur_assignation.svg]]
 
On peut libérer l'espace : c'est à dire indiquer au système d'exploitation que cette partie de la mémoire dynamique n'est plus utilisée et qu'il peut désormais en faire ce qu'il veut. Pour cela on utilise la procédure "« réciproque" » de <code>new</code> :
 
delete(p)
On remarquera qu'après un <code>delete</code> la donnée stockée ainsi que le pointeur restent en mémoire : la seule chose qui change est que l'espace en mémoire dynamique n'est plus réservé. La donnée pointée peut donc être écrasée. La valeur de p^ restera en mémoire tant que le système d'exploitation n'aura pas décidé d'attribuer cet espace. Remarquez que demander au processeur de supprimer les contenus qui ont été stockés serait une perte de temps puisque si cette partie de la mémoire venait à être utilisé, les données serait écrasées de toute façon.
 
Remarque : l'utilité de ce qui est expliqué dans cette partie "« utilisation" » peut échappéeéchapper au lecteur. En effet, cette partie sert seulement à donner les procédures <code>new</code> et <code>delete</code>. Stocker la valeur de t dans la mémoire dynamique n'a aucun intérêt en soi puisque la valeur est déjà dans t. L'important est de comprendre comment (par <code>new</code> et <code>delete</code>) on peut stocker et lire des informations en mémoire dynamique.
 
=== Exemple avec des entiers ===
5

modifications