Inhoudsopgave:
Video: Waarom is het zo moeilijk om de klimaatveranderingen te voorspellen? 2024
Constanten kunnen erg handig zijn bij het programmeren van C wanneer u een waarde hebt die in uw programma wordt herhaald. Als u een constante declareert, kunt u snel en eenvoudig een waarde wijzigen die in uw code wordt gebruikt, simpelweg door de aangifte te wijzigen.
Declaraties declareren
Anders dan variabelen, worden constanten gedeclareerd met de taalprinter preprocessor C en niet de compiler. Dit is het formaat:
#define VOTING_AGE 18
De #define-instructie is een preprocessor-opdracht. Het wordt gevolgd door de naam van het symbool dat wordt gedefinieerd, VOTING_AGE. Deze symbolen worden genoemd als variabelen, hoewel het gebruik van ALLE CAPS voor constanten u eenvoudig constanten versus variabelen in uw broncode kunt identificeren. Het symbool moet allemaal één woord zijn. Het volgen van het symbool is een spatie en dan de waarde die het symbool vertegenwoordigt. Er is geen gelijk teken!
Voeg geen puntkomma toe tenzij u wilt dat de puntkomma deel uitmaakt van de constante (en waarschijnlijk ook niet).
De preprocessor neemt het symbool en voert een zoek-en-vervangbewerking uit in uw gehele code, waarbij het symbool wordt vervangen door wat het ook weergeeft. Uiteindelijk wordt de "constante" een onmiddellijke waarde. En door #define te gebruiken om de constante te creëren, geeft u uzelf de flexibiliteit om deze later eenvoudig te wijzigen.
Constanten in uw code gebruiken
Constante definities volgen meestal de # include-richtlijnen bovenaan de broncode van C:
# include #define SPEEDLIMIT 55 # define RATE 15 #define FIRST_TICKET 85 #define SECOND_TICKET 95 #define THIRD_TICKET 100 int main () {int total, fine, speeding; puts ("Speeding Ticketsn"); / * eerste ticket * / speeding = FIRST_TICKET - SPEEDLIMIT; prima = te hard rijden * RATE; totaal = totaal + goed; printf ("Voor het starten van% d in een% d zone: $% dn", FIRST_TICKET, SPEEDLIMIT, prima); / * tweede ticket * / speeding = SECOND_TICKET - SPEEDLIMIT; prima = te hard rijden * RATE; totaal = totaal + goed; printf ("Voor het starten van% d in een% d zone: $% dn", SECOND_TICKET, SPEEDLIMIT, prima); / * derde ticket * / speeding = THIRD_TICKET - SPEEDLIMIT; prima = te hard rijden * RATE; totaal = totaal + goed; printf ("Voor het starten van% d in een% d zone: $% dn", THIRD_TICKET, SPEEDLIMIT, prima); / * Totaal weergeven * / printf ("nTotal in boetes: $% dn", totaal); return (0);}
Typ dit in je editor, sla het op, compileer het en voer het uit.
Stel dat u het programma hebt voltooid, maar dan wijzigt de gemeenteraad de snelheidslimiet van 55 mph naar 60 mph. Ook is de boete van $ 15 naar $ 26 gestegen voor elke mijl per uur die je over de limiet versnelt.Omdat u constanten hebt gebruikt, kunt u die wijzigingen op één plaats aanbrengen en ze naar de volledige code laten druppelen.
In dit geval zou u uw constante verklaringen als volgt wijzigen:
#define SPEEDLIMIT 60 #define RATE 26
Andere dingen die u kunt #define
De #define-richtlijn is niet beperkt tot alleen maar het maken van constanten voor jou. U kunt alles definiëren met de richtlijn #define, waarbij u belangrijke onderdelen van uw programma in wezen vervangt door wat u maar wilt. Een goed voorbeeld van wanneer je dit zou willen doen, kan ongeveer als volgt zijn:
#define ASK_PROMPT printf ("Wil je doorgaan (J / N)?");
Op deze manier kan de programmeur gewoon ASK_PROMPT typen in de code, die globaal wordt vervangen door de printf () -instructie wanneer de code wordt gecompileerd. (Als bonus kan de programmeur elke prompt universeel oplossen door simpelweg de enkele #define aan te passen.)