next up previous contents index
Next: Bibliothèques Up: No Title Previous: Compilation séparée

Fichiers d'en-tête

  

Plutôt que de commencer chaque fichier source par une liste de déclarations des objets définis dans d'autres fichiers sources, la communication entre les fichiers qui définissent un nom et ceux qui l'utilisent est assurée par des sources particuliers.

Il y a en effet deux sortes de fichiers sources : les fichiers d'en-tête, dont le nom se termine traditionnellement en .h et les fichiers de définitions, qui sont des .c. Les .h permettent de partager des déclarations entre plusieurs .c composant un même programme. Les .h doivent être inclus dans les .c au moyen de la directive suivante du préprocesseur, placée en tête du .c :

     

#include "declarations.h"

On notera que le nom du fichier d'en-tête est placé entre " ..." et non entre < ...>, qui est réservé aux .h standards (comme stdio.h, math.h, etc).

Un .h peut contenir les éléments suivants :

Voici par exemple le fichier d'en-tête déclarant les fonctions sur les nombres complexes :

typedef struct { double re, im; } complex;

complex complexe_mult(complex x, complex y);
complex complexe_add(complex x, complex y);
complex complexe_sub(complex x, complex y);
complex complexe_scal(double x, complex y);
void complexe_print(complex x);

Le fichier-source contenant les définitions de ces fonctions commencera par les lignes suivantes :

# include "complex.h"
# include <stdio.h>

La différence essentielle entre un .h et un .c est que ce dernier peut contenir en outre des définitions d'objets.


next up previous contents index
Next: Bibliothèques Up: No Title Previous: Compilation séparée
Jean-Philippe Chancelier
9/29/1998