Le préprocesseur effectue un prétraitement du programme source avant qu'il soit compilé.
Ce préprocesseur exécute des instructions particulières appelées directives.
Ces directives sont identifiées par le caractère #
en tête. Elles peuvent se continuer sur plusieurs lignes, chaque ligne
à continuer étant terminée par le caractère suivi d'un
return.
La directive #define permet la définition de pseudo-constantes.
Une pseudo-constante est un identificateur composé de lettres et de chiffres commençant par une lettre. (Le caractère _ est considéré comme une lettre).
Syntaxe
#define identificateur [chaine-de-substitution]
Le préprocesseur remplace tous les mots du fichier source identiques à l'identificateur par la chaîne-de-substitution.
On préférera n'utiliser que des majuscules pour écrire ces identificateurs afin de les différencier des autres (variables, vecteurs, fonctions).
Exemple
#define TAILLE 256 #define TAILLE_EN_OCTETS \ TAILLE*sizeof(int) main() { int tab[TAILLE]; int i; for(i=0; i < TAILLE; i++) tab[i] = i; printf("Le tableau tab contient %d octets\n", TAILLE_EN_OCTETS); }
Remarque
La directive #undef permet d'annuler la définition d'une pseudo-constante.
La plupart des préprocesseurs reconnaissent les pseudo-constantes prédéfinies suivantes :