variabili statiche sono una parte utile di C. Essi offrono flessibilità nel fare le funzioni che restituiscono dati più complesse , ma possono essere difficili da comprendere e utilizzare in modo efficace .
Istruzioni Dichiarare un
statico Variabile pagina 1
Sappiate che le variabili statiche sono sempre dichiarate all'interno di una funzione C , ma a differenza di altre variabili , i valori continuano ad esistere e sono mantenuti anche dopo le uscite di funzione.
2
dichiarare una variabile statica utilizzando la stessa sintassi come si farebbe per dichiarare una normale variabile locale , ma precedere la dichiarazione con la parola statico , come questo:
static int somma = 0 ;
3 Aspettatevi inizializzazione accada solo la prima volta che viene chiamata la funzione . Tempi successivi , il valore precedente sarà ancora lì . Se si omette l' inizializzazione , viene automaticamente inizializzato a 0 .
4
utilizzare tale variabile in funzione di come si farebbe con qualsiasi altro .
5
Ricordate che, come qualsiasi altra variabile locale , una variabile statica non può essere definito all'esterno della funzione . Tuttavia, se si passa un puntatore ad esso , il puntatore può essere dereferenziato con successo , dal momento che la variabile esiste ancora.
Sapere quando utilizzare le variabili statiche
6
Usa una variabile statica per consentire la funzione di avere una propria memoria che viene mantenuto da una chiamata all'altra . Ad esempio , una funzione che riceve e analizza la riga successiva di un file potrebbe essere necessario per tenere internamente traccia di dove si è nel file .
7
Utilizzare una variabile statica , come un modo per fornire un pezzo di memoria per memorizzare un risultato. Ad esempio, una funzione per concatenare stringhe potrebbe utilizzare una variabile statica nella quale memorizzare il risultato della concatenazione e restituire un puntatore ad esso . La memoria della variabile statica è sempre disponibile , ma sarà automaticamente liberata quando il programma termina , proprio come qualsiasi altra variabile locale .
8
Usare le variabili statiche per una corsa di accumulo totale o simili . Considerate questo esempio :
int running_total ( int num) { static int somma = 0; somma + = num; somma di ritorno; } Ogni volta che si chiama questa funzione , mantiene e restituisce un totale parziale di tutti i numeri passati in esso.