CONSTANTES

Las constantes son valores fijos que no pueden ser modificados por el programa. Pueden ser de cualquier tipo de datos básico (punteros incluidos). Para marcar que queremos que una variable sea constante utilizamos la palabra reservada const tal que:

    const int numero = 321;         /* declaramos que numero vale y valdrá siempre 321 */

No tiene demasiado sentido declarar una variable de tipo const sin darle valor inicial, pero algunos compiladores permiten hacerlo.

Hay distintos tipos de constantes:

-NUMÉRICAS

Aparte de constantes enteras tipo 234 y en coma flotante de la forma 10.4, a veces, sobre todo al trabajar a bajo nivel, resulta más cómodo poder introducir la constante en base 8 (octal) o 16 (hexadecimal) que en base 10. Dado que es corriente usar estos sistemas de numeración, C permite especificar constantes enteras en hexadecimal u octal. Una constante hexadecimal empieza por 0x seguido del número esa base. Igualmente una constante octal comienza por 0:

    const int hex = 0x80A; /* 2058 en decimal */
    const int oct = 012;  /*  10 en decimal */

    -DE CARÁCTER

Las cadenas de caracteres se representan encerrando la cadena entre comillas dobles ("hola caracola" sería un ejemplo). Hay ciertos caracteres que no se puede (o no es cómodo) introducir de esta forma, como son los caracteres de control: tabulador, retorno de carro, etc... Para introducirlos hay que usar unos códigos que consisten en una barra invertida y una letra, estos son los principales:

const char cad="Hola mundo"; /*Cadena Hola mundo*/

-ENUMERADAS

Las constantes enumeradas permiten definir una lista de constantes representadas por identificadores. Estas constantes son, realmente, enteros. Si no se especifica una correspondencia entre nombre y número el compilador se encarga de asignarles números correlativos (empezando por 0). Se pueden usar como enteros que son, pero la idea es usarlos en comparaciones, haciendo así el código más legible.

Para definirlas se usa la palabra reservada enum tal que:

    enum color{rojo, amarillo, morado};
    enum bool{false=0, true=1};

    -USO DEL PREPROCESADOR PARA DEFINIR CONSTANTES SIMBÓLICAS

Con el preprocesador se pueden definir constantes, aunque en este caso son realmente alias. Al compilar se sustituye tal cual un valor por otro, tenga o no sentido, y no se reserva memoria para el valor. Por ejemplo, para definir que la longitud de algo es 10 pondríamos:

    #define LONGITUD 10

Aquí se incluye un ejemplo:

Código Fuente Ejecutable