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.