Sous-sections

7.1 Introduction

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 $\setminus$ suivi d'un return.

7.1.1 Pseudo-constantes

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.

7.1.2 Pseudo-constantes prédéfinies

La plupart des préprocesseurs reconnaissent les pseudo-constantes prédéfinies suivantes :


Pr. Marc BUFFAT
buffat@ufrmeca.univ-lyon1.fr
2004-12-01