logo

#definer i C

I C-programmering, #definere er et forprosessordirektiv som brukes til å definere makroer. Makroene er identifikatorene definert av #define som erstattes av verdien før kompilering. Vi kan definere konstanter og funksjoner som makroer ved å bruke #define. Generikkene i C er også implementert ved å bruke #define preprocessor-direktivet sammen med _Generisk.

char til int

Syntaks for C #define

Syntaksen til #define forbehandlerdirektivet i C er:



For å definere konstanter

  #define   MACRO_NAME   value>

For å definere uttrykk

  #define   MACRO_NAME   (expression within brackets)>

For å definere uttrykk med parametere

Argumenter som sendes i makroene kan brukes i uttrykket.

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

Det er noen flere måter vi kan definere makroer på. For å vite mer, se denne artikkelen - Makroer og dens typer i C

Eksempler på C #define

Eksempel 1:

I eksemplet nedenfor har vi definert en makro «PI» og tildelt den en konstant verdi som vi kan bruke senere i programmet for å beregne arealet av en sirkel.



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

>

>

Produksjon

Area of Circle of radius 21: 1385>

Eksempel 2:

I eksemplet nedenfor har vi definert en makro «PI» og tildelt det et uttrykk, og den verdien av uttrykket brukes i programmet som bruker 'PI'.

C




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

>

>

Produksjon

Area of Circle of radius 7: 147>

Eksempel 3:

I eksemplet nedenfor har vi definert to makroer CIRCLE_AREA og SQUARE_AREA med en parameter og den parameteren brukes i uttrykket for å beregne arealet av henholdsvis sirkel og kvadrat .

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

>

>

Produksjon

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

Viktige poeng

  • Makroer deklarert med #define brukes til å lagre konstanter og kan ikke endres. vi kan ikke tilordne variabler til makroene.
  • Vi kan ikke bruke '=' operatør for å tildele verdi til makroene (f.eks. #define PI 3.14 ).
  • Vi bruker ikke semikolon ';' på slutten av setningen i #define.