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

10: Allocazione dinamica della memoria Vers. 9.1 – Ottobre 2025
Esempio: ALGORITMO Esempio _ 3 PROCEDURA main() p: PUNTATORE A INT INIZIO Alloca( p, DimensioneDi( INT))( 1)
SE( p ≠ NULL)
ALLORA Scrivi(" Allocazione OK!") < B1 > // Blocco di istruzioni da eseguire
// se allocazione ha avuto esito positivo Dealloca( p)( 2)
ALTRIMENTI // se allocazione ha avuto esito negativo Scrivi(" Allocazione non riuscita!") FINE SE
FINE
( 1)
Segmento HEAP
100
101
102
103
100
p
( 2)
4 byte
Segmento STACK
Segmento Dati
Segmento Codice
// Utilizzando il linguaggio C – Esempio _ 3 # include < stdio. h > # include < stdlib. h >
int main( int argc, char * argv []) { int * p;
// La funzione malloc restituisce un void * su cui va fatto un CAST a seconda del tipo p =( int *) malloc( sizeof( int)); //( 1) if( p!= NULL) { printf(" Allocazione OK!"); //< B1 > free( p); //( 2) } else { printf(" Allocazione non riuscita!"); }
return 0; }
Autore: Rio Chierego( email: riochierego @ libero. it- sito web: www. riochierego. it) Pag. 10