10: Allocazione dinamica della memoria Vers. 9.1 – Ottobre 2025
// Utilizzando il linguaggio C – Esempio _ 6 _ Confronto _ Ptr # include < stdio. h > # include < stdlib. h >
# define FALSO 0 # define VERO 1
int main( int argc, char * argv []) { int * p, * q; int a, b; int esito;
a = 5; b = 5;
p = & a; q = & b;
// Confronto--- > se puntatori DIVERSI ossia se puntano ad aree di memoria con indirizzi differenti if( p!= q) { esito = VERO; } else { esito = FALSO; }
printf(" Esito = % d ", esito);
return 0; }
// Utilizzando il linguaggio C – Esempio _ 7 _ Confronto _ Ptr # include < stdio. h > # include < stdlib. h >
# define FALSO 0 # define VERO 1
int main( int argc, char * argv []) { int * p, * q; int esito;
p =( int *) malloc( sizeof( int));
if( p!= NULL) { // ALIASING q = p;
// Confronto--- > se puntatori UGUALI ossia puntano alla stessa area di memoria if( p == q) { esito = VERO; } else { esito = FALSO; }
printf(" Esito = % d ", esito); free( p); } else { printf(" Allocazione non riuscita!"); }
return 0; }
Autore: Rio Chierego( email: riochierego @ libero. it- sito web: www. riochierego. it) Pag. 15