prof. Nunzio Brugaletta Programmazione e linguaggio C

EnneBi - Programmazione
Avanti Indietro Inizio


2.5 Costanti

Nel programma visto precedentemente i valori di base e altezza sono costanti, dato che non variano durante l'esecuzione del programma. Si sarebbe potuto scrivere direttamente

area = 3 * 7;

Quando un certo valore viene utilizzato in modo ricorrente è opportuno rimpiazzarlo con un nome simbolico; per farlo è necessario definire, all'inizio del programma, mediante la direttiva define un identificatore di costante in corrispondenza del valore desiderato.

#define BASE 3

Grazie a questa direttiva è possibile utilizzare, all'interno del programma, BASE al posto del valore intero 3.

La stessa definizione di costante implica che il suo valore non può essere modificato: BASE può essere utilizzata in un'espressione a patto che su di essa non venga mai effettuato un assegnamento.

Il programma del paragrafo precedente, con l'utilizzazione delle costanti, viene così modificato:

#include <stdio.h>
#define BASE 3
#define ALTEZZA 7
    
/* Calcolo area rettangolo */

main(){
  int area;
   
  area = BASE * ALTEZZA;
  printf("Base: %d\n",BASE); 
  printf("Altezza: %d\n",ALTEZZA); 
  printf("Area: %d\n",area); 
}

Il nome di una costante può essere qualsiasi identificatore valido in C, comunque si è scelto di utilizzare esclusivamente caratteri maiuscoli per le costanti e caratteri minuscoli per le variabili, per distinguere chiaramente le une dalle altre. Le costanti BASE e ALTEZZA vengono considerate di tipo intero in quanto il loro valore è costituito da numeri senza componente frazionaria.

Invece di utilizzare direttamente i valori, è consigliabile far uso degli identificatori di costante che sono descrittivi e quindi migliorano la leggibilità dei programmi. Inoltre, se ci si rende conto che un certo valore utilizzato più volte deve essere cambiato, nella prima ipotesi, è necessario ricercalo con attenzione all'interno del testo e modificarlo dov'è il caso, nella seconda ipotesi è sufficiente intervenire sulla sua definizione. Per esempio, per fare in modo che il programma precedente calcoli l'area del rettangolo con base 102 e altezza 34, è sufficiente modificare le linee dov'è presente define.

#define BASE 102
#define ALTEZZA 34

In sintesi, l'uso delle costanti migliora due parametri classici di valutazione dei programmi: flessibilità e possibilità di manutenzione.

La define è in realtà una macroistruzione (brevemente, macro) del precompilatore C che offre altre possibilità oltre a quella di definire delle costanti.



Avanti Indietro Inizio

http://ennebi.solira.org ennebi@solira.org