logo

#definiera i C

I C-programmering, #definiera är ett förprocessordirektiv som används för att definiera makron. Makron är identifierarna definierade av #define som ersätts av deras värde före kompilering. Vi kan definiera konstanter och funktioner som makron med #define. Generikerna i C implementeras också med #define preprocessor-direktivet tillsammans med _Generisk.

i ordning

Syntax för C #define

Syntaxen för #define förbearbetningsdirektivet i C är:



För att definiera konstanter

  #define   MACRO_NAME   value>

För att definiera uttryck

  #define   MACRO_NAME   (expression within brackets)>

För att definiera uttryck med parametrar

Argument som skickas i makron kan användas i uttrycket.

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

Det finns några fler sätt som vi kan använda för att definiera makron. För att veta mer, se den här artikeln - Makron och dess typer i C

Exempel på C #define

Exempel 1:

I exemplet nedan har vi definierat ett makro 'PI' och tilldelade det ett konstant värde som vi kan använda senare i programmet för att beräkna arean av en cirkel.



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

>

>

Produktion

Area of Circle of radius 21: 1385>

Exempel 2:

I exemplet nedan har vi definierat ett makro 'PI' och tilldelade det ett uttryck, och det värdet på uttrycket används i programmet som använder 'PI'.

C


es5 vs es6



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

>

>

Produktion

Area of Circle of radius 7: 147>

Exempel 3:

I exemplet nedan har vi definierat två makron CIRCLE_AREA och SQUARE_AREA med en parameter och den parametern används i uttrycket för att beräkna arean av cirkel respektive kvadrat .

vad är $home linux

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

>

>

Produktion

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

Viktiga punkter

  • Makron som deklareras med #define används för att lagra konstanter och kan inte ändras. vi kan inte tilldela variabler till makron.
  • Vi kan inte använda '=' operatör för att tilldela värde till makron (t.ex. #define PI 3.14 ).
  • Vi använder inte semikolon ';' i slutet av påståendet i #define.