logo

#definiți în C

În programarea C, #defini este o directivă de preprocesor care este utilizată pentru a defini macrocomenzi. Macrocomenzile sunt identificatorii definiți de #define care sunt înlocuiți cu valoarea lor înainte de compilare. Putem defini constante și funcții precum macrocomenzi folosind #define. Genericele din C sunt, de asemenea, implementate folosind directiva #define preprocesor împreună cu _Generic.

Sintaxa lui C #define

Sintaxa lui #define directiva de preprocesor în C este:



char în șir java

Pentru definirea constantelor

  #define   MACRO_NAME   value>

Pentru definirea expresiilor

  #define   MACRO_NAME   (expression within brackets)>

Pentru definirea expresiei cu parametri

Argumentele transmise în macrocomenzi pot fi folosite în expresie.

  #define   MACRO_NAME(  ARG1, ARG2  ,..)   (expression within brackets)>

Mai există câteva moduri prin care putem defini macrocomenzi. Pentru a afla mai multe, consultați acest articol - Macro-urile și tipurile sale în C

Exemple de C #define

Exemplul 1:

În exemplul de mai jos, am definit o macrocomandă „PI” și i-a atribuit o valoare constantă pe care o putem folosi mai târziu în program pentru a calcula aria unui cerc.



C






// C Program to illustrate how to use #define to declare> // constants> #include> > // Defining macros with constant value> #define PI 3.14159265359> > int> main()> {> > >int> radius = 21;> >int> area;> > >// Using macros to calculate area of circle> >area = PI * radius * radius;> > >printf>(>'Area of Circle of radius %d: %d'>, radius, area);> > >return> 0;> }>

>

tuplu python sortat
>

Ieșire

Area of Circle of radius 21: 1385>

Exemplul 2:

În exemplul de mai jos, am definit o macrocomandă „PI” și i-a atribuit o expresie, iar acea valoare a expresiei este utilizată în programul care utilizează „PI”.

C




verificarea nulului java
// C Program to illustrate the defining of expression using> // #define> #include> > // Defining macros with expression> #define PI (22 / 7)> > int> main()> {> > >int> radius = 7;> >int> area;> > >// Using macros to calculate area of circle> >area = PI * radius * radius;> > >printf>(>'Area of Circle of radius %d: %d'>, radius, area);> > >return> 0;> }>

>

>

Ieșire

Area of Circle of radius 7: 147>

Exemplul 3:

În exemplul de mai jos, am definit două macrocomenzi CIRCLE_AREA și SQUARE_AREA cu un parametru și acel parametru este utilizat în expresie pentru a calcula aria cercului și, respectiv, pătratului .

C


.06 sub formă de fracție



liste de latex

// C Program to define the function like macros using> // #define> #include> > // Defining parameterized macros with expression> #define CIRCLE_AREA(r) (3.14 * r * r)> #define SQUARE_AREA(s) (s * s)> > int> main()> {> > >int> radius = 21;> >int> side = 5;> >int> area;> > >// Using macros to calculate areas by> >// passing argument> >area = CIRCLE_AREA(radius);> >printf>(>'Area of Circle of radius %d: %d '>, radius,> >area);> > >area = SQUARE_AREA(side);> >printf>(>'Area of square of side %d: %d'>, side, area);> > >return> 0;> }>

>

>

Ieșire

Area of Circle of radius 21: 1384 Area of square of side 5: 25>

Puncte importante

  • Macro-urile declarate folosind #define sunt folosite pentru a stoca constante și nu pot fi modificate. nu putem atribui variabile macro-urilor.
  • Nu putem folosi '=' operator pentru a atribui valoare macrocomenzilor (de ex. #define PI 3.14 ).
  • Nu folosim punct și virgulă ';' la sfârșitul declarației din #define.