5 5
10: Allocazione dinamica della memoria Vers. 9.3 – Dicembre 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
5 5
( 1) |
44 byte |
( 2) |
44 byte byte |
100 |
|
200 |
|
p |
|
q |
|
|
|
|
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