CATEGORII DOCUMENTE |
Directive uzuale
Directiva #define se utilizeaza pentru a defini un identificator si un sir (o secventa) pe care compilatorul il va atribui identificatorului de fiecare data cand il intalneste in textul sursa.
Forma generala a directivei #define este :
#define identificator sir
Se observa ca directiva #define nu contine '; '.
In secventa de atomi lexicali 'sir' nu trebuie sa apara spatiu. Linia se termina cu CR.
Exemplu:
# define TRUE 1
# define FALSE 0
Cand in program se intalnesc numele TRUE si FALSE, acestea se vor inlocui cu 1, respectiv 0.
Instructiunea:
printf ('%d %d %d', FALSE, TRUE, TRUE + 5);
va afisa pe ecran 0 1 6.
Dupa definirea unui macro_name, acesta poate fi folosit pentru definirea altui macro_name.
Exemplu:
# define ONE 1 /* Se defineste macro_name ONE */
# define TWO ONE + ONE /* Se utilizeaza macro_name ONE */
# define THREE ONE + TWO
Deci aceasta macrodefinitie realizeaza simpla inlocuire a unui identificator cu sirul asociat. Daca, de exemplu, se doreste definirea unui mesaj standard de eroare, se poate scrie:
# define E_MS 'standard error on input n'
. . . . . . . . . .
printf (E_MS);
Ultima linie este echivalenta cu :
printf ('standard error on inputn');
atunci cand in program se intalneste identificatorul E_MS.
Exemplu: Programul urmator nu va afisa 'this is a test', deoarece argumentul lui printf() nu este inchis intre ghilimele.
# define XYZ this is a test
. . . . . . . . . . . . . . . . .
printf ('XYZ');
Se va afisa XYZ si nu 'this is a test'.
Daca sirul este prea lung si nu incape pe o linie, acesta se scrie sub forma:
# define LONG_STRING ' this is a very long
string that is used as an example '
Observatie: De obicei macro_names sunt definite cu litere mari.
Directiva #define poate fi folosita si pentru precizarea dimensiunii unui tablou, astfel:
# define MAX_SIZE 100
float balance [ MAX_SIZE ];
Macro_nameul dintr-o directiva #define poate avea si argumente. Exemplu :
# define MIN (a ,b) a < b ? a : b
void main()
Dupa substituirea lui
MIN(a, b) in care a = x si b = y,
instructiunea printf() va arata astfel :
printf('Numarul mai mic este: %d',(x<y)?x:y);
Directiva #error
Directiva #error forteaza compilatorul sa stopeze operatia de compilare cand aceasta este intilnita in program. Este utilizata in primul rind pentru depanarea programelor. Forma generala a directivei este: #error mesaj_de_eroare
Aceasta linie determina procesorul sa scrie mesajul de eroare si sa termine compilarea.
Directiva # include
Directiva # include comanda compilatorului sa includa in fisierul ce contine directiva #include un alt fisier sursa al carui nume este specificat in directiva. Formele directivei sunt :
# include <nume_fisier>
# include 'nume_fisier'
Prima forma se refera la fisiere header (cu extensia .h) care se gasesc in subdirectorul include din fiecare mediu de programare C, iar cea de-a doua la fisiere header create in directorul de lucru al utilizatorului (directorul curent). Directivele # include pot fi folosite si una in interiorul celeilalte.
Politica de confidentialitate | Termeni si conditii de utilizare |
Vizualizari: 683
Importanta:
Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved