logo

#define v C

V programiranju C, #definiraj je direktiva predprocesorja, ki se uporablja za definiranje makrov. Makri so identifikatorji, definirani z #define, ki so pred prevajanjem nadomeščeni z njihovo vrednostjo. Z #define lahko definiramo konstante in funkcije, kot so makri. Generiki v C so implementirani tudi z uporabo predprocesorske direktive #define skupaj z _Generic.

Sintaksa C #define

Sintaksa #define direktiva predprocesorja v C je:



Za definiranje konstant

  #define   MACRO_NAME   value>

Za definiranje izrazov

  #define   MACRO_NAME   (expression within brackets)>

Za definiranje izraza s parametri

Argumente, posredovane v makrih, je mogoče uporabiti v izrazu.

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

Obstaja še nekaj načinov, s katerimi lahko definiramo makre. Če želite izvedeti več, si oglejte ta članek – Makri in njihove vrste v C

Primeri C #define

Primer 1:

V spodnjem primeru smo definirali makro 'PI' in mu dodelili konstantno vrednost, ki jo lahko kasneje v programu uporabimo za izračun ploščine kroga.



C






10 od 50,00

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

>

>

Izhod

Area of Circle of radius 21: 1385>

Primer 2:

V spodnjem primeru smo definirali makro 'PI' in mu dodeli izraz, ta vrednost izraza pa se uporabi v programu z uporabo 'PI'.

C


linearno iskanje v Javi



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

velikonočna jajca v androidu
>

>

Izhod

Area of Circle of radius 7: 147>

Primer 3:

V spodnjem primeru smo definirali dva makra CIRCLE_AREA in SQUARE_AREA s parametrom in ta parameter se uporabi v izrazu za izračun površine kroga oziroma kvadrata .

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

>

pande iterrows

>

Izhod

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

Pomembne točke

  • Makri, deklarirani z #define, se uporabljajo za shranjevanje konstant in jih ni mogoče spremeniti. makrom ne moremo dodeliti spremenljivk.
  • Ne moremo uporabiti '=' operator za dodelitev vrednosti makrom (npr. #define PI 3.14 ).
  • Podpičja ne uporabljamo ';' na koncu stavka v #define.