logo

#define C

C programuojant, #apibrėžti yra išankstinio procesoriaus direktyva, naudojama makrokomandoms apibrėžti. Makrokomandos yra #define apibrėžti identifikatoriai, kurie prieš kompiliavimą pakeičiami jų verte. Konstantas ir funkcijas, pavyzdžiui, makrokomandas, galime apibrėžti naudodami #define. Bendrieji C kalboje taip pat yra įgyvendinami naudojant #define išankstinio procesoriaus direktyvą kartu su _Bendra.

C sintaksė #define

#define sintaksė pirminio procesoriaus direktyva C yra:



Konstantoms apibrėžti

  #define   MACRO_NAME   value>

Išraiškų apibrėžimui

  #define   MACRO_NAME   (expression within brackets)>

Išraiškos apibrėžimui parametrais

Išraiškoje gali būti naudojami makrokomandose perduoti argumentai.

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

Yra dar keli būdai, kuriais galime apibrėžti makrokomandas. Norėdami sužinoti daugiau, skaitykite šį straipsnį - Makrokomandos ir jų tipai C

C #define pavyzdžiai

1 pavyzdys:

Toliau pateiktame pavyzdyje apibrėžėme makrokomandą 'PI' ir priskyrė jai pastovią reikšmę, kurią vėliau programoje galime panaudoti apskritimo plotui apskaičiuoti.



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

>

sql pasirinkti kaip

>

Išvestis

Area of Circle of radius 21: 1385>

2 pavyzdys:

Toliau pateiktame pavyzdyje apibrėžėme makrokomandą 'PI' ir priskyrė jai išraišką, o ta išraiškos reikšmė naudojama programoje naudojant „PI“.

C


java bool į eilutę



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

>

>

Išvestis

Area of Circle of radius 7: 147>

3 pavyzdys:

Toliau pateiktame pavyzdyje apibrėžėme dvi makrokomandas CIRCLE_AREA ir SQUARE_AREA su parametru ir tas parametras naudojamas reiškinyje apskaičiuojant atitinkamai apskritimo ir kvadrato plotą .

įdėti į klaviatūrą

C




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

>

>

Išvestis

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

Svarbūs punktai

  • Makrokomandos, deklaruotos naudojant #define, naudojamos konstantoms saugoti ir negali būti keičiamos. negalime makrokomandoms priskirti kintamųjų.
  • Negalime naudoti '=' operatorius, kad makrokomandoms priskirtų vertę (pvz. #define PI 3.14 ).
  • Mes nenaudojame kabliataškio ';' teiginio pabaigoje #define.