Fichiers d'en-tête

Un fichier d'en-tête (d'extension .h) sert à regrouper des informations sur le contenu d'un fichier source (d'extension .c). Tout fichier source qui a besoin d'exploiter des définitions provenant du fichier .c peut ainsi y avoir accès simplement en incluant le fichier .h dans son en-tête.

Remarque Le fichier .c doit lui aussi inclure le fichier .h, pour éviter de dupliquer du code et assurer la cohérence entre les deux fichiers.

Contenu

On place dans le fichier d'en-tête :

  • Des directives d'inclusion (si elles sont nécessaires pour les déclarations qui suivent),
  • Des directives de définition,
  • Des déclarations externes de variables globales (à éviter dans tous les cas),
  • Des déclarations de type,
  • Des prototypes de fonction.

On ne place surtout pas dans le fichier d'en-tête :

  • Des instructions exécutables (celles-ci doivent rester cantonnées au fichier .c),
  • Des déclarations de variables globales (idem).

Remarque Les déclarations dans le fichier .c qui ne sont pas destinées à être exploitées à l'extérieur n'ont pas besoin d'être dans le fichier .h.

Protection contre les inclusions multiples

Pour éviter que les fichiers d'en-tête ne soient inclus plusieurs fois, on ajoute toujours une protection par le biais d'une directive de compilation sélective :

#ifndef FICHIER_H
#define FICHIER_H
...
#endif /* FICHIER_H */

Ce qui est placé entre ces lignes ne sera vu par le compilateur qu'à la première inclusion. Toute inclusion supplémentaire sera simplement ignorée.

retour à la page d'accueil

retour au sommet