Es posible usar el modificador const para establecer variables no modificables una vez que se inicializan. También es posible usar el modificador const en la definición y declaración de parámetros para indicar que los datos a los que se refiere no deben modificarse. Si se intenta modificar un dato const el compilador debe generar un error durante la compilación.
int cuadrado(const int v){ /* v=0; daría un error de compilación */ return v*v; } void usacuadrado(void){ const int ic=3; int i=5,j; j=cuadrado(2); /* Se puede pasar cualquier valor */ j=cuadrado(ic); /* tomado de constante */ j=cuadrado(i); /* tomado de no constante */ }
El modificador const afecta a la parte del tipo que precede, por ejemplo:
int longitud(const char *s);
son constantes los caracteres a los que apunta s pero no s. El parámetro s se puede modificar dentro de la función, aunque su modificación no tiene efecto fuera. Es posible indicar que el parámetro s sea constante o que ambos sean constantes como en los siguientes ejemplos:
int longitud(char * const s);
int longitud(const char * const s);