Allocazione automatica della memoria

Le variabili automatiche sono variabili locali in un blocco di istruzioni.

Esse sono automaticamente allocate sullo stack quando si entra in quel blocco di codice; parallelamente, vengono distrutte quando si esce dal blocco stesso.

Ad esempio, si consideri il seguente codice in linguaggio C:

int main(void) {   {     int a;     a = 10;   }   {     int b;     printf("b = %d\n", b);   } } 

Utilizzando il compilatore gcc, si otterrà come risultato:

b = 10 

perché la stessa locazione di memoria che era stata allocata per a viene poi utilizzata per allocare b, all'ingresso del secondo blocco.

Le variabili automatiche hanno un valore indefinito quando sono dichiarate (in gergo si dice che sono sporche), perciò è buona abitudine inizializzarle con valori validi prima del loro utilizzo.
La maggior parte dei compilatori moderni, se invocati con i giusti parametri, riconosce l'uso di variabili non inizializzate ed avverte l'utente del possibile errore.

Voci correlate

[modifica | modifica wikitesto]
  Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica