5 5
10: Allocazione dinamica della memoria Vers. 9.1 – Ottobre 2025
OPERAZIONI DI CONFRONTO SUI PUNTATORI
Le uniche operazioni di confronto consentite e che hanno senso tra puntatori che puntano a dati dello stesso tipo, sono quelle di uguaglianza(=) e diversità( ≠).
Esempio: Confronto tra due puntatori
ALGORITMO Esempio _ 6 _ Confronto _ Ptr
PROCEDURA main() p, q: PUNTATORE A INT a, b: INT esito: BOOL
INIZIO
a � 5 b � 5 p � & a //( 1) q� & b //( 2) SE( p ≠ q) // N. b. 100 ≠ 200 VERO
ALLORA esito = VERO
ALTRIMENTI esito = FALSO FINE SE Scrivi( esito)
FINE
Segmento HEAP
Segmento STACK
Segmento Dati
100 200
( 1)
5 5
4 byte
4 byte
100 200 p q
( 2) 4 byte
4 byte
Segmento Codice
ALGORITMO Esempio _ 7 _ Confronto _ Ptr
PROCEDURA main() p, q: PUNTATORE A INT esito: BOOL
INIZIO Alloca( p, DimensioneDi( INT))( 1)
SE( p ≠ NULL)
ALLORA q � p( 2) // ASSEGNAZIONE tra puntatori SE( p = q)
ALLORA esito = VERO
ALTRIMENTI esito = FALSO FINE SE Scrivi( esito) Dealloca( p)
ALTRIMENTI
Scrivi(" Allocazione non riuscita!") FINE SE
FINE
100 101 102 103
4 byte
( 1)( 2)
100 100 p q
Segmento HEAP
Segmento STACK
Segmento Dati
Segmento Codice
Autore: Rio Chierego( email: riochierego @ libero. it- sito web: www. riochierego. it) Pag. 14