variabile statica

Nov 08, 2012 4 Replies

ciao!



se si prepone la keyword "static" ad una variabile locale questa conserva i l valore tra le varie chiamate alla funzione; c'è modo però di inizializzarla ad un certo valore la prima volta che l a funzione viene chiamata? (vorrei evitare di usare una variabile a visibilità globale) uso il c30 di microchip


-ice-


Il 08/11/2012 14:50, ice ha scritto:

valore tra le varie chiamate alla funzione;

funzione viene chiamata?

Se non prendo cantonate una variabile static è di fatto globale (cioè non viene allocata ad ogni chiamata di funzione) ma la sua visibilità è limitata all'ambito della dichiarazione.

Il compilatore dovrebbe iniziarlizzarla automaticamente (es. int a 0). Ma dovresti poter scrivere:

static int myVar = 3;

Marco

"Marco Trapanese" ha scritto nel messaggio news:k7gdli$qqt$ snipped-for-privacy@tdi.cu.mi.it...

io ho sempre visto che coì andava bene,ci possono essere eccezioni?

Il 08/11/2012 15:45, blisca ha scritto:

Dovrebbe essere previsto dallo standard ma i compilatori per microcontroller non sempre aderiscono perfettamente e conviene sempre verificare che il proprio supporti una data funzionalità.

Ciao! Marco

Il giorno giovedì 8 novembre 2012 15:45:11 UTC+1, blisca ha scritto:

i?

anche io sapevo così; nel mio caso in effetti funzionava ma un bug sulle watches del debug non mi aggiornava il valore e stavo uscendo matto ;)

-ice-

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required