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

10 : Allocazione dinamica della memoria Vers . 8.3 – Ottobre 2023
ALGORITMO Esempio _ 3 _ NOT _ OK PROCEDURA main () p : PUNTATORE A INT INIZIO Alloca ( p , DimensioneDi ( INT ))
NOTA BENE
SE ( p ≠ NULL ) ALLORA
< B1 > // Blocco di istruzioni da eseguire // se allocazione ha avuto esito positivo
ALTRIMENTI // se allocazione ha avuto esito negativo Scrivi (" Allocazione non riuscita !") Dealloca ( p ) FINE SE
Dealloca ( p ) FINE
Il posizionamento della chiamata alla procedura Dealloca () all ’ interno del codice nella posizione indicata , può avere per l ’ esecuzione del programma esiti infausti ed imprevedibili ( perfino un abend oppure un crash ) in quanto , in caso di allocazione con esito negativo , si tenterà di deallocare una zona di memoria inesistente . Tale errore è reso ancora più subdolo dal fatto che non sarà possibile accorgersene fino a che l ’ allocazione dinamica in questione avrà esito positivo .
Autore : Rio Chierego ( email : riochierego @ libero . it - sito web : www . riochierego . it ) Pag . 11