UC3M

Grado en Ing. Telemática/Sist. Audiovisuales/Sist. de Comunicaciones

Arquitectura de Sistemas

Septiembre 2017 - Enero 2018

14.11.4. Definición de macros con la directiva #define

La directiva #define tiene una funcionalidad extra que puede utilizarse para definir lo que se conoce como macros. El reemplazo que hace el preprocesador del símbolo por su equivalente puede incluir parámetros. En el siguiente ejemplo se define una macro para reemplazar el símbolo DEMASIADO_GRANDE(v) la comparación de v dada con el valor 1000.

#define DEMASIADO_GRANDE(v) (v >= 1000)

La macro DEMASIADO_GRANDE(v) se puede utilizar en el código con un nombre de variable en lugar de v que será utilizado al reemplazarse el símbolo por su equivalente tal y como se muestra en el siguiente ejemplo:

int i;
if (DEMASIADO_GRANDE(i)) /* Código fuente */
{ 
  ...
}

if ((i >= 1000))  /* Código recibido por el traductor */
{ 
  ...
}