logo

#définir en C

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.