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.