logo

#definir en C

En programación C, #definir es una directiva de preprocesador que se utiliza para definir macros. Las macros son los identificadores definidos por #define que se reemplazan por su valor antes de la compilación. Podemos definir constantes y funciones como macros usando #define. Los genéricos en C también se implementan utilizando la directiva de preprocesador #define junto con _Genérico.

Sintaxis de C #define

La sintaxis de #define directiva de preprocesador en C es:



Para definir constantes

  #define   MACRO_NAME   value>

Para definir expresiones

  #define   MACRO_NAME   (expression within brackets)>

Para definir expresiones con parámetros

Los argumentos pasados ​​en las macros se pueden utilizar en la expresión.

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

Hay algunas formas más mediante las cuales podemos definir macros. Para saber más, consulte este artículo: Macros y sus tipos en C

alfabeto como números

Ejemplos de C #definir

Ejemplo 1:

En el siguiente ejemplo, hemos definido una macro 'PI' y le asignó un valor constante que podemos usar más adelante en el programa para calcular el área de un círculo.



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

>

>

Producción

Area of Circle of radius 21: 1385>

Ejemplo 2:

En el siguiente ejemplo, hemos definido una macro 'PI' y le asignó una expresión, y ese valor de la expresión se usa en el programa usando 'PI'.

C


comparación de león y tigre



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

prime no code in java
>

>

Producción

Area of Circle of radius 7: 147>

Ejemplo 3:

En el siguiente ejemplo, hemos definido dos macros. CÍRCULO_AREA y ÁREA CUADRADA con un parámetro y ese parámetro se usa en la expresión para calcular el área del círculo y el cuadrado respectivamente .

C


gráfico de asignación de recursos



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

>

>

Producción

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

Puntos importantes

  • Las macros declaradas usando #define se usan para almacenar constantes y no se pueden cambiar. No podemos asignar variables a las macros.
  • No podemos usar el ‘=’ operador para asignar valor a las macros (por ej. #definir PI 3.14 ).
  • No utilizamos el punto y coma. ‘;’ al final de la declaración en #define.