Menu
Coddy logo textTech

Fichiers d'en-tête

Fait partie de la section Object Oriented Programming du Journey C de Coddy — leçon 1 sur 61.

À mesure que les programmes C deviennent plus volumineux, conserver tout le code dans un seul fichier devient ingérable. Les fichiers d'en-tête offrent un moyen d'organiser votre code en séparant ce que fait une fonction de la manière dont elle le fait.

Un fichier d'en-tête (avec l'extension .h) contient des déclarations de fonctions (également appelées prototypes). Ces déclarations indiquent au compilateur qu'une fonction existe et quels paramètres elle accepte, sans fournir l'implémentation réelle.

// math_utils.h
int add(int a, int b);

Pour utiliser des déclarations provenant d'un fichier d'en-tête, vous l'incluez avec la directive #include. Pour vos propres en-têtes, utilisez des guillemets doubles au lieu de chevrons :

// main.c
#include "math_utils.h"

int add(int a, int b) {
    return a + b;
}

int main() {
    int result = add(5, 3);
    return 0;
}

La principale différence : #include <stdio.h> recherche dans les répertoires système, tandis que #include "math_utils.h" recherche d'abord dans le dossier de votre projet. Cette séparation permet à plusieurs fichiers de partager les mêmes déclarations de fonctions, rendant votre base de code plus facile à parcourir et à maintenir.

Aide-mémoire

Les fichiers d'en-tête (avec l'extension .h) contiennent des déclarations de fonctions qui indiquent au compilateur qu'une fonction existe sans fournir son implémentation :

// math_utils.h
int add(int a, int b);

Incluez vos propres fichiers d'en-tête en utilisant des guillemets doubles :

// main.c
#include "math_utils.h"

int add(int a, int b) {
    return a + b;
}

#include <stdio.h> recherche dans les répertoires système, tandis que #include "math_utils.h" recherche d'abord dans le dossier de votre projet.

Essayez vous-même

Cette leçon ne comprend pas de défi de code.

quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Object Oriented Programming