Considere el siguiente código:
COMENZAREl código anterior no es un código C válido.
Pero el siguiente código es válido:
//Ejemplo 1.CAntes de la compilación, el macro inicio, entero, impresión y final ha sido reemplazado por su valor, y el código se convierte en un código C válido. Podemos comprobar usando el siguiente comando:
GCC -E Ejemplo1.CEste comando se mostrará después de expandir todas las macros.
Ahora veremos diferentes tipos de macros:
1. Macros similares a objetos:
Sintaxis:
#define macro_name macro_valueSi la macro toma más de una línea, podemos hacerlo de la siguiente manera:
#define macro_name macro_value1 \Esta macro parece un objeto de datos, por eso este tipo de macro llamada macro similar a un objeto.
// Ejemplo2.CEn EXAPMLE2.C, max es una macro. Desde la salida, observamos que Máximo se reemplaza por su valor 200.
2. Macros similares a la función:
Sintaxis:
#define macro_name () macro_valueMacro_Name es un nombre definido por el usuario de la macro. Par de paréntesis tiene que poner después del Macro_Name. No se permite espacio entre Macro_Name y paréntesis. También podemos aprobar argumentos en este tipo de macros.
#define add (x, y) x+yEsta macro se parece a una llamada de función, por eso este tipo de macro llamó macro similar a una función.
// Ejemplo3.CEn el ejemplo3.C, Hemos visto que, a diferencia de la función de C, la macro reemplaza solo el código con argumentos sin calcularlo. Entonces, podemos pasar un tipo de datos diferente usando la misma macro.
Si ponemos un espacio entre el nombre de la macro y el paréntesis, funciona igual que una macro similar a un objeto. A continuación, el ejemplo C ilustra esto.
// Ejemplo4.CEn el ejemplo4.C, hemos visto que el Macro Add se reemplaza por (x, y) x+y . Lo mismo que una macro similar a un objeto.
3. Macro para ficha:
En el lenguaje C, el operador ## se usa para pegar token. Usando este operador, podemos combinar dos tokens válidos en un token válido.
Ejemplo:
Si intentamos token de pegado que no genera un token válido, el compilador C da un error o advertencia.
// Ejemplo6.CEn Ejemplo6.C, Tenemos un mensaje de error porque, después de una combinación de dos tokens, obtenemos un token '52+'inválido'.
4. Macro para Stringing:
En el lenguaje C, el operador # se usa para convertir un parámetro macro en una constante de cadena. Cuando un operador # precede con un parámetro macro, el parámetro se convierte en una cadena literal. Stringing se puede usar para macros similares a objeto y de función.
Ejemplo:
En Ejemplo7.C Tenemos una cadena "Hola mundo" usando la macro de trituración.
Conclusión:
Este artículo ha aprendido sobre todo tipo de macro Macros con forma de objeto, Macros similares a la función, Macro para ficha, Macro para triturar y macro para triturar en lengua c. Ahora podemos usar una macro en nuestro programa C sin ninguna duda.