Come inizializzare le variabili in C

C non inizializza le variabili automaticamente.

Inizializza le variabili nella tua dichiarazione

Passaggio 1

Inizializza una variabile in C assegnandole un valore iniziale. Senza questo, otterrete ciò che è in quel momento nella memoria, il che porterà a comportamenti imprevisti e errori irreprodabili che possono essere molto difficili da tracciare.

Passaggio 2

Aggiungi un'inizializzazione nella dichiarazione. Basta aggiungere un compito a destra della fine dell'istruzione, ad esempio: "int x = 5;".

Passaggio 3

Dovresti sapere che l'inizializzazione della matrice funziona in modo simile, a meno che tu non debba mettere diversi valori separati da virgole tra parentesi graffe. In questo modo, puoi evitare di inserire la dimensione della matrice e questa verrà compilata automaticamente: "int duration_meses [] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }; "

Passaggio 4

Approfitta delle stringhe di caratteri. Le stringhe di caratteri sono insiemi di caratteri che supportano un formato più semplice per l'inizializzazione: 'char title [] = "My Program";'.

Passaggio 5

Esprimere qualsiasi tipo di inizializzazione della matrice nel formato del puntatore (poiché in realtà sono puntatori): 'int * duration_months = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; char * title = "Il mio programma"; '.

Passaggio 6

Ricorda che le strutture in C sono inizializzate allo stesso modo delle matrici: 'struct rol = {"Hamlet", 7, FALSE, "Prince of Denmark", "Kenneth Branagh"};'.

Inizializza le variabili manualmente

Passaggio 1

Aspetta di inizializzare una variabile altrove nel programma se questo renderà il codice più chiaro. Ad esempio, una variabile che sarà l'indice di un ciclo viene in genere inizializzata nel ciclo "for". Ciò rende più semplice per un altro programmatore leggere il codice, poiché l'inizializzazione è vicina a dove verrà utilizzato.

Passaggio 2

Inizializza la struttura dei dati al momento giusto. Se una struttura dati verrà allocata dinamicamente con "malloc ()" o una funzione simile, non sarà possibile inizializzarla finché non sarà pazzesca. Tuttavia, in questo caso, ciò che hai dichiarato è in realtà un puntatore, che verrà inizializzato sul valore "NULL" per impostazione predefinita.