Dichiarazione di costanti
Una costante è come la variabile un valore allocato in memoria, con la sola differenza che il valore una volta assegnato non può essere modificato.
Per dichiarare una costante esistono due metodi:
- usare l'istruzione const all'interno di una funzione: const <tipo> <nome costante> = <valore>;
- usare il preprocessore define all'inizio del programma: #define <nome costante> <valore>
Esempio:
Vediamo le differenze nell'uso dei due metodi:
La dichiarazione con
const può essere locale, ad esempio all'interno di una funzione dichiarata, in questo caso
main():
#include <stdio.h>
main
()
{
const i =
10;
printf("Stampa il contenuto di i: %d\n",i
);
}
oppure globale, la specifica viene fatta all'inizio del programma, vediamone un esempio:
#include <stdio.h>
const i =
10;
main
()
{
printf("Stampa il contenuto di i: %d\n",i
);
}
come possiamo vedere, il tipo della costante in certi casi non è una specifica obbligatoria.
Passiamo ora alla dichiarazione con il preprocessore.
In questo caso la dichiarazione avviene globalmente e non è nel corpo del programma, questo perché in realtà, usando questa tecnica, non si alloca un vero e proprio spazio nella memoria del programma, ma sarà poi il compilatore a sostituire il valore da noi assegnato alla stringa
<nome costante> per ogni occorrenza della stringa all'interno del codice da noi scritto.
Qualche dubbio? Niente paura, vediamo un esempio pratico.
Supponiamo di volere dichiarare le costanti GIORNI = 7 e ORE = 24:
#include <stdio.h>
#define GIORNI 7
#define ORE 24
main
()
{
printf("Stampa il contenuto di GIORNI: %d\ne quello di ORE: %d\n",GIORNI,ORE
);
}
questo sarà esattamente come scrivere:
#include <stdio.h>
main
()
{
printf("Stampa il contenuto di GIORNI: %d\ne quello di ORE: %d\n",
7,
24);
}
che in poche parole è quello che fa il compilatore, il programma compilato non cambia.
Torna a Laboratorio di Sistemi Operativi
Non ci sono commenti in questa pagina. [Scrivi commento]