Developpez.com - C
X

Choisissez d'abord la catégorieensuite la rubrique :

next up previous contents index
Next: Déclarations de variables ayant Up: Les bases Previous: Les chaînes de caractères

Sous-sections

   
Les constantes nommées

    Il y a deux façons de donner un nom à une constante : soit en utilisant les possibilités du préprocesseur, soit en utilisant des énumérations.

Les #define

     Lorsque le préprocesseur lit une ligne du type :

#define identificateur reste-de-la-ligne

il remplace dans toute la suite du source, toute nouvelle occurrence de identificateur par reste-de-la-ligne. Par exemple on peut écrire :
#define PI 3.14159
et dans la suite du programme on pourra utiliser le nom PI pour désigner la constante 3.14159.

Attention

  Une telle définition de constante n'est pas une déclaration mais une commande du préprocesseur. Il n'y a donc pas de ; à la fin. Rappelons que le préprocesseur ne compile pas, il fait des transformations d'ordre purement textuel. Si on écrit :
#define PI 3.14159;
le préprocesseur remplacera toute utilisation de PI par 3.14159; et par exemple, remplacera l'expression PI / 2 par 3.14159; / 2 ce qui est une expression incorrecte. Dans une telle situation, le message d'erreur ne sera pas émis sur la ligne fautive (le #define), mais sur une ligne correcte (celle qui contient l'expression PI / 2), ce qui gênera la détection de l'erreur.

Les énumérations

       On peut définir des constantes de la manière suivante :
enum { liste-d'identificateurs }
Par exemple :
enum {LUNDI, MARDI, MERCREDI, JEUDI, VENDREDI, SAMEDI, DIMANCHE};
définit les identificateurs LUNDI, ... DIMANCHE comme étant des constantes de type int, et leur donne les valeurs 0, 1, ... 6. Si on désire donner des valeurs particulières aux constantes, cela est possible :
enum {FRANCE = 10, ESPAGNE = 20, ITALIE = 30};
Il n'est pas nécessaire de donner une valeur à toutes les constantes :
enum {FRANCE = 10, LUXEMBOURG, BELGIQUE, ESPAGNE = 20, ITALIE = 30};
donnera la valeur 11 à LUXEMBOURG et 12 à BELGIQUE.

Remarque

Il est d'usage (au moins dans le monde UNIX) de donner un nom entièrement en majuscules aux constantes nommées d'un programme. Mon opinion est que ceci est une bonne convention, qui accroît la lisibilité des programmes.


next up previous contents index
Next: Déclarations de variables ayant Up: Les bases Previous: Les chaînes de caractères
Bernard Cassagne
1998-12-09
Contacter le responsable de la rubrique C