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

5 5
10 : Allocazione dinamica della memoria Vers . 8.3 – Ottobre 2023
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