C/Variabili, operatori e costanti/Variabili: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Riga 140:
==={{IndexItem|static}}static===
È una variabile che ha permanenza statica in memoria. Se si dichiara una variabile di tipo static all interno di una funzione, essa manterrà il suo valore anche quando l'esecuzione della funzione sarà terminata. Se la stessa funzione fosse invocata un'altra volta, la variabile statica avrà ancora il valore presente alla precedente uscita della funzione.
 
 
Lo specificatore <tt>static</tt> assume un secondo significato se la variabile è definita al livello base del file (fuori da qualsiasi funzione).
 
In quel caso, oltre a indicare che la sua esistenza in memoria è valida per tutta l'esecuzione del programma, indica anche che la sua ''visibilità'' è ristretta all'interno del modulo (file).
Nessun altro modulo di programma potrà farvi riferimento con lo specificatore <tt>extern</tt>.
 
Questo permette di avere variabili con nomi uguali, specificate in moduli diversi, senza che possano avere conflitti fra loro: ciascuna sarà visibile solo nel proprio modulo.
 
==={{IndexItem|auto}}auto===