En programmation C, #définir est une directive de préprocesseur utilisée pour définir des macros. Les macros sont les identifiants définis par #define qui sont remplacés par leur valeur avant compilation. Nous pouvons définir des constantes et des fonctions comme des macros en utilisant #define. Les génériques en C sont également implémentés à l'aide de la directive de préprocesseur #define avec _Générique.
motif d'étoile imprimé
Syntaxe de C #define
La syntaxe de #define directive du préprocesseur en C est :
Pour définir des constantes
#define MACRO_NAME value>
Pour définir des expressions
#define MACRO_NAME (expression within brackets)>
Pour définir une expression avec des paramètres
Les arguments passés dans les macros peuvent être utilisés dans l'expression.
#define MACRO_NAME( ARG1, ARG2 ,..) (expression within brackets)>
Il existe quelques autres façons de définir des macros. Pour en savoir plus, référez-vous à cet article – Macros et ses types en C
Exemples de C #define
Exemple 1:
Dans l'exemple ci-dessous, nous avons défini une macro 'PI' et lui avons attribué une valeur constante que nous pourrons utiliser plus tard dans le programme pour calculer l'aire d'un cercle.
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;> }> |
>
python est numérique
>Sortir
Area of Circle of radius 21: 1385>
Exemple 2 :
Dans l'exemple ci-dessous, nous avons défini une macro 'PI' et lui a attribué une expression, et cette valeur de l'expression est utilisée dans le programme en utilisant 'PI'.
C
java ouvrant un fichier
// 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;> }> |
>
>Sortir
Area of Circle of radius 7: 147>
Exemple 3 :
Dans l'exemple ci-dessous, nous avons défini deux macros CIRCLE_AREA et SQUARE_AREA avec un paramètre et ce paramètre est utilisé dans l'expression pour calculer respectivement l'aire du cercle et du carré .
C
âge d'Ankita Lokhande
// 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;> }> |
java remplacer toute la chaîne
>
>Sortir
Area of Circle of radius 21: 1384 Area of square of side 5: 25>
Les points importants
- Les macros déclarées à l'aide de #define sont utilisées pour stocker des constantes et ne peuvent pas être modifiées. nous ne pouvons pas attribuer de variables aux macros.
- Nous ne pouvons pas utiliser le '=' opérateur pour attribuer une valeur aux macros (par ex. #définir PI 3.14 ).
- Nous n'utilisons pas le point-virgule ';' à la fin de l'instruction dans #define.