
La vita di tutti noi è una Malloc().
Come volevasi dimostrare. L'allocazione della memoria è un problema da non sottovalutare, sia in un programma C, sia nella vita di ogni individuo. La memoria deve essere sollecitata per recuperare le informazioni, deve essere allenata per reperirle in maniera rapida, deve essere ben strutturata per recuperare le giuste informazioni, ma soprattutto
deve essere allocata.
Come al solito i neofiti, o meglio
dummies del linguaggio C commettono gli stessi errori. Va bene che il C non è un linguaggio semplice come il Visual Basic, e non è soprattutto
inutile come il Visual Basic, però i
newbie dovrebbero studiare un pochino di più.
Il problema che è sorto ad un caro amico di cui non faccio nomi per rispetto (:-), è appunto il problema dell'allocazione della memoria. I dati dinamici, come l'allocazione di variabili all'interno di cicli
loop o costrutti
if,
for,
procedure(man), hanno validità esclusivamente all'interno del costrutto in cui sono dichiarati. Come tali sono variabili memorizzate nel segmento
stack, che cresce verso il basso. I dummies, non i nerd, dovrebbero imparare questa cosa e sapere che le variabili allocate con
Malloc() sono memorizzate nel segmento
Heap, non dinamico, che cresce verso l'alto. L'errore compiuto dal mio amico era appunto questo: pretendeva che le variabili del segmento
stack avessero validità per tutto il ciclo di vita del programma, e pretendeva il loro utilizzo anche al di fuori dell'ambito in cui erano stati dichiarati.
La stessa cosa vale per il ciclo di vita di un individuo: non si può pretendere che un'informazione possa essere reperita se non viene memorizzata e quindi bisogna far uso di un potente allocatore di memoria, come il cervello. E' importante memorizzare ciò che si ritiene importante, anche una sola volta, in maniera fissa, in modo che, con specifiche ricostruzioni, è possibile reperire il dato in maniera più meno rapida dipendetemente dal suo utilizzo.
Ricordate dunque di usare la Malloc() e cercate di memorizzare le informazioni importanti, come questo post, in una parte celebrale non dinamica e volatile.
Etichette: C, Coding, Life, Malloc