Sommario:
Video: C - 3 - Scambio di variabili 2024
Le costanti possono essere molto utili nella programmazione C ogni volta che si ha un valore che viene ripetuto nel programma. La dichiarazione di una costante consente di modificare rapidamente e facilmente un valore che viene utilizzato nel codice semplicemente modificando la dichiarazione.
Dichiarazione delle costanti
Diversamente dalle variabili, le costanti vengono dichiarate usando il preprocessore del linguaggio C e non il compilatore. Ecco il formato:
#define VOTING_AGE 18
La direttiva #define è un comando del preprocessore. È seguito dal nome del simbolo che viene definito, VOTING_AGE. Questi simboli sono denominati come variabili, sebbene l'uso di TUTTI I MAIUSC per le costanti consenta di identificare facilmente le costanti rispetto alle variabili nel codice sorgente. Il simbolo deve essere tutto una parola. Seguendo il simbolo c'è uno spazio e quindi il valore rappresentato dal simbolo. Non c'è un segno di uguale!
Non includere un punto e virgola a meno che non si desideri che il punto e virgola faccia parte della costante (e probabilmente no).
Il preprocessore prende il simbolo e fa un'operazione di ricerca e sostituzione in tutto il codice, sostituendo il simbolo con quello che rappresenta. Alla fine, la "costante" diventa un valore immediato. E, usando #define per creare la costante, ti dai la flessibilità di cambiarlo facilmente in seguito.
Uso delle costanti nel codice
Le definizioni costanti in genere seguono le direttive #include nella parte superiore del codice sorgente C:
# include #define SPEEDLIMIT 55 #define RATE 15 #define FIRST_TICKET 85 #define SECOND_TICKET 95 #define THIRD_TICKET 100 int main () {int totale, fine, velocità; puts ("Speeding Ticketsn"); / * primo biglietto * / velocità = FIRST_TICKET - SPEEDLIMIT; bene = eccesso di velocità * RATE; totale = totale + ammenda; printf ("Per andare in% d in una zona% d: $% dn", FIRST_TICKET, SPEEDLIMIT, fine); / * secondo ticket * / speeding = SECOND_TICKET - SPEEDLIMIT; bene = eccesso di velocità * RATE; totale = totale + ammenda; printf ("Per andare in% d in una zona% d: $% dn", SECOND_TICKET, SPEEDLIMIT, fine); / * terzo ticket * / speeding = THIRD_TICKET - SPEEDLIMIT; bene = eccesso di velocità * RATE; totale = totale + ammenda; printf ("Per andare in% d in una zona% d: $% dn", THIRD_TICKET, SPEEDLIMIT, fine); / * Visualizza totale * / printf ("nTotale in multa: $% dn", totale); return (0);}
Digita questo nel tuo editor, salvalo, compilalo ed eseguilo.
Supponiamo che tu abbia completato il programma, ma poi il consiglio locale cambia il limite di velocità da 55 mph a 60 mph. Inoltre, la multa è passata da $ 15 a $ 26 per ogni miglio all'ora in cui superi il limite.Poiché hai utilizzato le costanti, puoi apportare tali cambiamenti in un unico punto e ridurli all'intero codice.
In questo caso, cambieresti le tue dichiarazioni costanti in questo modo:
#define SPEEDLIMIT 60 #define RATE 26
Altre cose che puoi #define
La direttiva #define non è limitata alla sola creazione costanti per te. Puoi definire qualsiasi cosa con la direttiva #define, sostituendo sostanzialmente i pezzi principali del tuo programma con quello che vuoi. Un buon esempio di quando si potrebbe voler fare questo può essere qualcosa del tipo:
#define ASK_PROMPT printf ("Vuoi continuare (S / N)?");
In questo modo, il programmatore può semplicemente digitare ASK_PROMPT nel codice, che viene sostituito globalmente con l'istruzione printf () quando il codice è compilato. (Come bonus, il programmatore può risolvere universalmente ogni prompt semplicemente modificando la singola #define.)