3.7.2 Définition d'une constante symbolique

Icône de l'outil pédagogique Définition d'une constante symbolique

Une constante symbolique est définie par la directive #define. Elle peut être placée :

– en début du fichier source (comme dans l'exemple du chapitre "Programme évolué en C") ;
– dans un fichier en‐tête *.h (par exemple la constante PI est définie dans math.h dans certains IDE).

Il faut toujours écrire les constantes symboliques en MAJUSCULES : NB_ELEMENTS, PI, INDICE_MAX, CHARGE_ELECTRON, MIN_MESURES, ... Inversement, aucune variable ne doit être écrite en majuscules seulement.

La directive #define substitue littéralement un texte à un autre avant la compilation (le compilateur ne connaîtra donc pas le symbole). Il n'y a pas de place allouée en mémoire pour une constante symbolique.
Ainsi, la directive :

#define PI 3.14159

demande au préprocesseur de remplacer littéralement le symbole PI par le texte 3.14159 (de type double par défaut), chaque fois que ce symbole apparaît dans le fichier source.

Une des utilisations les plus courantes est l'indication du nombre d'éléments d'un tableau. En effet, seule la constante symbolique convient à cet usage.

Les détracteurs des constantes symboliques lui reprochent de ne pas avoir de type explicite : il convient donc de bien choisir la valeur numérique associée à la constante.

 

Exemple 7, Définition d'une constante symbolique avec la directive #define :