const : empéche les modifications d'une variable
Mot réservé du langage C
Syntaxe:
<type> const <nom_variable> [ = <valeur> ] ;
const <type> * <nom_var> ;
Description:
Dans sa première version, le modificateur const permet d'affecter une valeur initiale à une variablei qui ne pourra pas être modifiée dans la suite du programme.
Par exemple:
int const mon_age = 39;
Toute affectation ultérieure à mon_age provoque une erreur de compilation.
- ATTENTION: une variable const peut être modifiée indirectement si le programmeur précise une conversion explicite de pointeur.
Par exemple :
*(int *)&mon_age = 35;
Dans sa deuxième version, le modificateur const est utilisé avec une déclaration de pointeur, et indique que la zone mémoire désignée par ce pointeur n'est pas modifiable.
Par exemple:
int printf (const char *format, ...);
la fonction printf ne peut altérer la chaîne 'format'.
Exemple:
double const dd=3.14159; /* dd est constant:
dd = 1.5; est interdit
dd++ ; est interdit */
double e;
double * const pd=&e; /* pd est constant:
pd++ ; est interdit */
const double * pe=ⅆ /* pe pointe un double constant:
*pe=1.5; est interdit
pe[0]=1.5; */
*pd = 2.71828; /* est autorisé */
pe = &e; /* est autorisé */