Scrigroup - Documente si articole

     

HomeDocumenteUploadResurseAlte limbi doc
AccessAdobe photoshopAlgoritmiAutocadBaze de dateCC sharp
CalculatoareCorel drawDot netExcelFox proFrontpageHardware
HtmlInternetJavaLinuxMatlabMs dosPascal
PhpPower pointRetele calculatoareSqlTutorialsWebdesignWindows
WordXml


Directive uzuale

c



+ Font mai mare | - Font mai mic



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



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 695
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved