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 ;
3Aspettatevi 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 .
4utilizzare tale variabile in funzione di come si farebbe con qualsiasi altro .
5Ricordate 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
6Usa 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 .
7Utilizzare 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 .
8Usare 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.
Programmazione © www.354353.com