[Previous] [Up] [Next]
Go backward to Declaraciones, expresiones, asignacion, tipos de datos
Go up to Top
Go forward to Usos de printf() y scanf()

El Preprocesador

Para ampliar su capacidad y notacion, el lenguaje C se basa en gran medida en el preprocesador. Las lineas que se inician con en la primera columna se llaman LINEAS DE CONTROL, y se comunican con el preprocesador. La sintaxis de las lineas de control es independiente del resto del lenguaje C. El efecto de una linea de control abarca desde su lugar en el archivo hasta el final de ese archivo. Una linea de control como

        #include "nombre_del_archivo"
hace que el preprocesador reemplace la linea con una copia del contenido del archivo nombrado. El archivo se busca primero en el directorio actual y luego en los lugares estandar. Con una linea de control como
        #include <nombre_del_archivo>
el preprocesador solo busca el archivo en los lugares estandar y no en el directorio actual. No hay restriccion para lo que puede contener un archivo incluido; en especial, puede contener otras lineas de control, que a su vez seran ampliadas por el preprocesador. Las lineas de control con define se pueden presentar de varias formas. Por ejemplo:
        #define  STRING           "Este es un ejemplo"
        #define  SEGUNDOS_AL_DIA  (60 * 60 * 24)
En este ejemplo, el string es (60 * 60 * 24) y el preprocesador reemplazara a SEGUNDOS_AL_DIA por ese string todas las veces que aparezca en el resto del archivo. Un error frecuente es terminar una linea define con un punto y coma, lo cual la convierte en parte de la cadena de reemplazo, cuando esto no es lo que se desea. Los define sencillos tienen varios usos importantes que mejoran la claridad y la transportabilidad de los programas. Por ejemplo, para constantes especiales :
        #define  PI 3.14159
        #define  E  2.71828      /* exponencial */
        #define  C  299792.4562  /*velocidad de la luz en km/seg*/
En terminos generales, las constantes simbolicas ayudan en la documentacion al reemplazar lo que de otra forma seria una constante enigmatica con un identificador nemonico, hacen mas portatil el programa al permitir que se alteren en un solo lugar las constantes que pueden ser dependientes del sistema, y mejoran la confiabilidad al restringir a un solo lugar la verificacion de la representacion real de la constante.

spy@inf.utfsm.cl

[Previous] [Up] [Next]