Tutorial de Lenguaje C                                                                                               Dr. Roberto Gómez


MACRO-INSTRUCCIONES


Permite una sustitución de texto parametreado por argumentos

        #define simbolo(a1, a2, ...) cadena-caracteres
 


        #define max(a,b) ( (a) ? (b) ? (a) : (b) )

Con esta definición la línea:

        x = max(58,x*y);

es sustituida por:

        x = ( (58) ? (x*y) ? 58 : (x*y) );

Si no se utilizan los par'entesis puede generarse algo incorrecto:

        #define cuadrado(a) (a*a)

        ...
 
        x = cuadrado(y+1);
 
es transformado en:
 
        x=(y+1*y+1); es decir x =2*y+1
 
 

MENÚ PRINCIPAL