4° Anno TEORIA 2. Allocazione dinamica della memoria | Page 13

10: Allocazione dinamica della memoria Vers. 9.1 – Ottobre 2025
Esempio 5: Effetto collaterale ALIASING
Segmento HEAP
ALGORITMO Esempio _ 5 _ Area _ Zombie PROCEDURA main() p, q: PUNTATORE A INT INIZIO Alloca( p, DimensioneDi( INT))( 1)
SE( p ≠ NULL)
ALLORA Alloca( q, DimensioneDi( INT))( 2)
SE( q ≠ NULL) ALLORA p � q
( 3) // ALIASING
Dealloca( q)
// Attenzione al terribile SIDE EFFECT // Ora c’ è un area di memoria inaccessibile // NON puntata più da alcun puntatore // che non può essere più rilasciata
ALTRIMENTI
Scrivi(" Allocazione di q non riuscita!") FINE SE
Dealloca( p) ALTRIMENTI
Scrivi(" Allocazione di p non riuscita!") FINE SE
FINE
( 3)
100 101 102 103
( 1)( 2)
100
200
p
200 201 202 203
( 3)
200
q
4 byte
Segmento STACK
Segmento Dati
Segmento Codice
Autore: Rio Chierego( email: riochierego @ libero. it- sito web: www. riochierego. it) Pag. 13