INTRODUZIONE ALLA PROGRAMMAZIONE IN C



Variabili statiche



Una variabile statica e' locale ad una particolare funzione. E' inizializzata una sola volta, la prima volta che tale funzione viene chiamata e il suo valore resta inalterato quando si esce dalla funzione, per cui quando si richiama nuovamente la funzione tale variabile ha ancora il valore assegnatogli precedentemente. Per definire statica una variabile e' sufficente anteporre la parola static alla dichiarazione della variabile. Ad esempio: void stat(); /* prototype function */ main() {int i; for (i=0; i<5; ++i) stat() } stat() {int auto_var=0; static int static_var=0; printf("auto=%d, static=%d \n", auto_var, static_var); ++ auto_var; ++ static_var; } Il cui output sara': auto_var=0, static_var=0 auto_var=0, static_var=1 auto_var=0, static_var=2 auto_var=0, static_var=3 auto_var=0, static_var=4 La variabile auto_var viene creata ogni volta, mentre la variabile static_var e' creata una sola volta ed il suo valore memorizzato.