C non inizializzare le variabili automaticamente , quindi se non si inizializza correttamente , è possibile ottenere risultati imprevisti . Fortunatamente, C rende facile per inizializzare le variabili quando vengono dichiarate .
Istruzioni di inizializzare le variabili in dichiarazione
1
inizializzare una variabile in C per assegnare un valore iniziale . Senza questo , si otterrà tutto ciò è successo a essere in memoria in quel momento, che porta ad un comportamento incoerente e bug non riproducibili che possono essere estremamente difficile da rintracciare.
2
Aggiungi una inizializzazione alla dichiarazione . Basta virare su un incarico fino alla fine della dichiarazione , in questo modo:
int x = 5;
3 Sappiate che l'inizializzazione di array funziona in modo simile , salvo che si deve mettere più separati da virgole I valori tra parentesi graffe . Nel fare questo, si può lasciare fuori la dimensione della matrice, e sarà compilato automaticamente :
month_lengths int [ ] = { 31 , 28 , 31 , 30 , 31 , 30 , 31 , 31 , 30 , 31 , 30 , 31 } ;
4 approfittare delle stringhe di caratteri . Le stringhe di caratteri , che sono davvero array di caratteri , supportano anche un formato più semplice per l'inizializzazione :
titolo char [ ] = " Il mio Programma" ;
5 espresso entrambi i tipi di inizializzazione array in formato puntatore ( poiché gli array sono in realtà puntatori ) :
int * month_lengths = { 31 , 28 , 31 , 30 , 31 , 30 , 31 , 31 , 30 , 31 , 30 , 31 } ; char * title = " Il mio Programma" ;
6 Ricordate che le strutture in C vengono inizializzati nello stesso modo degli array :
struct ruolo = { " Amleto " , 7 , FALSE , " principe di Danimarca " , " Kenneth Branagh "} ;
< br > inizializzare le variabili
manualmente
7 Attendere per inizializzare una variabile in un altro punto del programma, se questo sarà più chiaro . Ad esempio , una variabile che sarà l'indice di un ciclo di solito è meglio inizializzato nel ciclo for . Questo rende più facile per un altro programmatore leggere , poiché l' inizializzazione è vicino a dove verrà utilizzato .
8
inizializzare la struttura dati al momento giusto . Se una struttura di dati sta per essere allocata dinamicamente con malloc () o una funzione simile , non è possibile inizializzare fino a dopo che è allocato . Tuttavia, in questo caso , quello che si sta dichiarando in realtà è un puntatore , che deve ancora essere inizializzato a NULL come una questione di corso .