logo

#definir en C

En la programació en C, #definir és una directiva de preprocessador que s'utilitza per definir macros. Les macros són els identificadors definits per #define que es substitueixen pel seu valor abans de la compilació. Podem definir constants i funcions com macros utilitzant #define. Els genèrics en C també s'implementen mitjançant la directiva de preprocessador #define juntament amb _Genèric.

Sintaxi de C #define

La sintaxi de #define directiva de preprocessador en C és:



Per definir constants

  #define   MACRO_NAME   value>

Per definir expressions

  #define   MACRO_NAME   (expression within brackets)>

Per definir expressió amb paràmetres

Els arguments passats a les macros es poden utilitzar a l'expressió.

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

Hi ha algunes maneres més d'utilitzar les quals podem definir macros. Per saber-ne més, consulteu aquest article - Macros i els seus tipus en C

Exemples de C #define

Exemple 1:

A l'exemple següent, hem definit una macro 'PI' i li va assignar un valor constant que podem utilitzar més endavant al programa per calcular l'àrea d'un cercle.



C






caràcter d'escapament java

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

>

>

Sortida

Area of Circle of radius 21: 1385>

Exemple 2:

A l'exemple següent, hem definit una macro 'PI' i li va assignar una expressió, i aquest valor de l'expressió s'utilitza al programa que utilitza 'PI'.

C


si per rudyard kipling explicació línia per línia



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

avantatges d'instagram per a ús personal
>

>

Sortida

Area of Circle of radius 7: 147>

Exemple 3:

A l'exemple següent, hem definit dues macros CIRCLE_AREA i SQUARE_AREA amb un paràmetre i aquest paràmetre s'utilitza a l'expressió per calcular l'àrea del cercle i el quadrat respectivament .

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

>

alfabet per nombres

>

Sortida

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

Punts importants

  • Les macros declarades amb #define s'utilitzen per emmagatzemar constants i no es poden canviar. no podem assignar variables a les macros.
  • No podem utilitzar el ‘=’ operador per assignar valor a les macros (p. ex. #definir PI 3.14 ).
  • No fem servir el punt i coma ‘;’ al final de la declaració a #define.