C/Variabili, operatori e costanti/Costanti: differenze tra le versioni

Wikibooks, manuali e libri di testo liberi.
Contenuto cancellato Contenuto aggiunto
Pietrodn (discussione | contributi)
mNessun oggetto della modifica
Pietrodn (discussione | contributi)
+sintassi colorata
Riga 5: Riga 5:
Le '''costanti''' vengono definite con la {{IndexItem|direttiva}}[[Linguaggio C/Compilatore e precompilatore/Istruzioni al precompilatore|direttiva]] {{IndexItem|define}}<tt>#define</tt>:
Le '''costanti''' vengono definite con la {{IndexItem|direttiva}}[[Linguaggio C/Compilatore e precompilatore/Istruzioni al precompilatore|direttiva]] {{IndexItem|define}}<tt>#define</tt>:


<source lang="c">
#define identificatore valore
#define identificatore valore
</source>


L'identificatore scelto dal programmatore permette di gestire con più facilità i numeri magici/costanti che verranno usati nel codice.
L'identificatore scelto dal programmatore permette di gestire con più facilità i numeri magici/costanti che verranno usati nel codice.
Riga 15: Riga 17:
Esempio:
Esempio:


<source lang="c">
#define VERO 1
#define VERO 1
...
/* ... */
printf("%d\n", VERO);
printf("%d\n", VERO);
</source>


Le costanti non vengono allocate in memoria, vengono valutate in fase di {{IndexItem|compilazione}}compilazione, ed il {{IndexItem|preprocessore}}[[Linguaggio C/Compilatore e precompilatore/Istruzioni al precompilatore|preprocessore]] si occuperà di sostituire ogni occorenza 'identificatore' con il suo 'valore' definito.
Le costanti non vengono allocate in memoria, vengono valutate in fase di {{IndexItem|compilazione}}compilazione, ed il {{IndexItem|preprocessore}}[[Linguaggio C/Compilatore e precompilatore/Istruzioni al precompilatore|preprocessore]] si occuperà di sostituire ogni occorenza 'identificatore' con il suo 'valore' definito.

Versione delle 20:44, 23 mag 2007

Template:Linguaggio C

Le costanti vengono definite con la direttiva #define:

#define identificatore valore

L'identificatore scelto dal programmatore permette di gestire con più facilità i numeri magici/costanti che verranno usati nel codice.

Semplicemente con questa direttiva ogni identificatore che viene trovato nel sorgente, viene sostituito con il suo valore.

Il valore definito dalla costante può essere un tipo di dato int, char o stringa.

Esempio:

#define VERO 1
/* ... */
printf("%d\n", VERO);

Le costanti non vengono allocate in memoria, vengono valutate in fase di compilazione, ed il preprocessore si occuperà di sostituire ogni occorenza 'identificatore' con il suo 'valore' definito.

L'utilizzo delle costanti, permette una maggiore leggibilità e agevolezza nella fase di manutenzione del codice.

È però preferibile l'uso di const per dichiarare costanti.