La directive #include permet d'insérer le contenu d'un fichier dans un autre.
Ce mécanisme est en général réservé à l'inclusion de fichiers appelés fichiers en-tête contenant des déclarations de fonctions, de variables externes, de pseudo-constantes et pseudo-fonctions, de définition de types. Ces fichiers sont traditionnellement suffixés par .h.
Syntaxe
#include <nom-de-fichier>
#include "nom-de-fichier"
Si le nom du fichier est spécifié entre guillemets, il est recherché dans le répertoire courant. On peut indiquer d'autres répertoires de recherche au moyen de l'option -I de la commande cc.
Si le nom du fichier est spécifié entre , il est recherché par défaut dans le répertoire /usr/include.
Exemple def.h
#define NbElements(t) sizeof t / sizeof t[0]
#define TAILLE 256
typedef struct cellule {
int tab[TAILLE];
struct cellule *ptr;
} Cel;
typedef enum bool {Faux, Vrai} logical;
extern void init(int t[], logical imp);
Cel c;
#include "def.h"
main()
{
int t[TAILLE] = {1, 2, 9, 10};
logical imp = Vrai;
init(t, imp);
}
Il existe une bibliothèque standard de fichiers en-tête nécessaires lors de l'appel de certaines fonctions :