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 :