logo

#definire in C

Nella programmazione in C, #definire è una direttiva del preprocessore utilizzata per definire le macro. Le macro sono gli identificatori definiti da #define che vengono sostituiti dal loro valore prima della compilazione. Possiamo definire costanti e funzioni come le macro usando #define. I generici in C vengono implementati anche utilizzando la direttiva del preprocessore #define insieme a _Generico.

Sintassi del C #define

La sintassi di #define direttiva del preprocessore in C è:



Per definire le costanti

  #define   MACRO_NAME   value>

Per definire le espressioni

  #define   MACRO_NAME   (expression within brackets)>

Per definire l'espressione con parametri

Gli argomenti passati nelle macro possono essere utilizzati nell'espressione.

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

Esistono altri modi in cui possiamo definire le macro. Per saperne di più, fare riferimento a questo articolo – Macro e suoi tipi in C

Esempi di C #define

Esempio 1:

Nell'esempio seguente, abbiamo definito una macro 'PI' e gli abbiamo assegnato un valore costante che potremo utilizzare più avanti nel programma per calcolare l'area di un cerchio.



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

Lettore multimediale vlc scarica youtube

>

>

Produzione

Area of Circle of radius 21: 1385>

Esempio 2:

Nell'esempio seguente, abbiamo definito una macro 'PI' e gli è stata assegnata un'espressione e il valore dell'espressione viene utilizzato nel programma utilizzando '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;> }>

>

>

Produzione

Area of Circle of radius 7: 147>

Esempio 3:

Nell'esempio seguente, abbiamo definito due macro CERCHIO_AREA E AREA_QUADRATA con un parametro e tale parametro viene utilizzato nell'espressione per calcolare rispettivamente l'area del cerchio e del quadrato .

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

>

>

Produzione

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

Punti importanti

  • Le macro dichiarate utilizzando #define vengono utilizzate per memorizzare costanti e non possono essere modificate. non possiamo assegnare variabili alle macro.
  • Non possiamo usare il '=' operatore per assegnare valore alle macro (es. #definire PI 3.14 ).
  • Non usiamo il punto e virgola ';' alla fine dell'istruzione in #define.