Cuprins:
Video: Week 9 2024
Constantele pot fi foarte utile în programarea C ori de câte ori aveți orice valoare repetată în program. Declararea unei constante vă permite să modificați rapid și ușor o valoare care este utilizată în întregul cod prin simpla modificare a declarației.
Declararea constantelor
Spre deosebire de variabile, constantele sunt declarate folosind preprocesorul limbajului C și nu compilatorul. Iată formatul:
#define VOTING_AGE 18
Direcția #define este o comandă de preprocesor. Urmează numele simbolului definit, VOTING_AGE. Aceste simboluri sunt numite variabile, deși folosind constantele ALL CAPS vă permite să identificați cu ușurință constantele versus variabilele din codul sursă. Simbolul trebuie să fie un singur cuvânt. Urmând simbolul este un spațiu și apoi valoarea pe care simbolul o reprezintă. Nu există semne egale!
Nu includeți un punct și virgulă decât dacă doriți ca punct și virgulă să facă parte din constanta (și probabil că nu).
Preprocesorul ia simbolul și efectuează o operațiune de căutare și înlocuire în întregul cod, înlocuind simbolul cu ceea ce reprezintă. În cele din urmă, "constanta" devine o valoare imediată. Și, folosind #define pentru a crea constanta, vă dați flexibilitatea de ao schimba cu ușurință mai târziu.
->Utilizarea constantelor din codul dvs.
Definițiile constante urmează în mod obișnuit direcțiile #include din partea superioară a codului sursă C:
#include #define SPEEDLIMIT 55 #define RATE 15 #define FIRST_TICKET 85 #define SECOND_TICKET 95 # definește THIRD_TICKET 100 int main () {int total, fine, speeding; pune ("Accelerarea Ticketsn"); / * primul bilet * / viteza = FIRST_TICKET - SPEEDLIMIT; fine = viteza * RATE; total = total + amendă; printf ("Pentru a merge% d într-o zonă% d: $% dn", FIRST_TICKET, SPEEDLIMIT, fine); / * al doilea bilet * / viteza = SECOND_TICKET - SPEEDLIMIT; fine = viteza * RATE; total = total + amendă; printf ("Pentru a merge% d într-o zonă% d: $% dn", SECOND_TICKET, SPEEDLIMIT, amendă); / * al treilea bilet * / viteză = THIRD_TICKET - SPEEDLIMIT; fine = viteza * RATE; total = total + amendă; printf ("Pentru a merge% d într-o zonă% d: $% dn", THIRD_TICKET, SPEEDLIMIT, amendă); / * Afișați total * / printf ("nTotal în amendă: $% dn", total); return (0);}
Introduceți acest lucru în editorul dvs., salvați-l, compilați-l și executați-l.
Să presupunem că ați finalizat programul, însă consiliul local modifică limita de viteză de la 55 mph la 60 mph. De asemenea, amenda a crescut de la 15 dolari la 26 USD pentru fiecare kilometru pe oră pe care ați depășit limita.Deoarece ai folosit constante, poți face acele schimbări într-un singur loc și ai să-i dai jos până la întregul cod.
În acest caz, v-ați schimba declarațiile constante în acest sens:
#define SPEEDLIMIT 60 #define RATE 26
Alte lucruri pe care le puteți #define
Directiva #define nu se limitează doar la crearea constante pentru tine. Puteți defini orice cu directiva #define, înlocuind, în esență, componentele majore ale programului dvs. cu ceea ce doriți. Un bun exemplu de când ați putea dori să faceți acest lucru poate fi ceva de genul:
#define ASK_PROMPT printf ("Vreți să continuați (Y / N)?");
În acest fel, programatorul poate doar să introducă codul ASK_PROMPT, care este înlocuit global cu instrucțiunea printf () atunci când codul este compilat. (Ca bonus, programatorul poate rezolva universal fiecare solicitare pur și simplu prin modificarea #define unică.)