logo

#define v C

V programovaní v C, #definovať je direktíva preprocesora, ktorá sa používa na definovanie makier. Makrá sú identifikátory definované pomocou #define, ktoré sú pred kompiláciou nahradené ich hodnotou. Konštanty a funkcie ako makrá môžeme definovať pomocou #define. Generiká v C sú tiež implementované pomocou direktívy #define preprocessor spolu s _Všeobecné.

java virtuálny stroj

Syntax jazyka C #define

Syntax #define smernica pre preprocesor v C je:



Pre definovanie konštánt

  #define   MACRO_NAME   value>

Na definovanie výrazov

  #define   MACRO_NAME   (expression within brackets)>

Na definovanie výrazu pomocou parametrov

Argumenty odovzdané v makrách môžu byť použité vo výraze.

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

Existuje niekoľko ďalších spôsobov, pomocou ktorých môžeme definovať makrá. Ak chcete vedieť viac, pozrite si tento článok - Makrá a ich typy v C

Príklady C #define

Príklad 1:

V nižšie uvedenom príklade sme definovali makro „PI“ a priradili mu konštantnú hodnotu, ktorú môžeme neskôr v programe použiť na výpočet plochy kruhu.



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;> }>

>

ako previesť znak na reťazec
>

Výkon

Area of Circle of radius 21: 1385>

Príklad 2:

V nižšie uvedenom príklade sme definovali makro „PI“ a priradil mu výraz a táto hodnota výrazu sa použije v programe pomocou „PI“.

C




príkaz v uzle js
// 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;> }>

>

>

Výkon

Area of Circle of radius 7: 147>

Príklad 3:

V nižšie uvedenom príklade sme definovali dve makrá CIRCLE_AREA a SQUARE_AREA s parametrom a tento parameter sa používa vo výraze na výpočet plochy kruhu a štvorca .

C


spojenia a typy spojení



// 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;> }>

>

>

továrenský dizajnový vzor
Výkon

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

Dôležité body

  • Makrá deklarované pomocou #define sa používajú na ukladanie konštánt a nemožno ich meniť. makrám nemôžeme priradiť premenné.
  • Nemôžeme použiť '=' operátor na priradenie hodnoty makrám (napr. #define PI 3.14 ).
  • Nepoužívame bodkočiarku ';' na konci príkazu v #define.