Un file header C è un componente fondamentale nella programmazione in C e C++, solitamente identificato dall'estensione .h. Funge da archivio per le dichiarazioni, inclusi prototipi di funzioni, definizioni di macro, definizioni di tipi e variabili globali che devono essere condivise tra più file di codice sorgente. Utilizzando i file header, gli sviluppatori possono mantenere una base di codice modulare, consentendo a diverse parti di un programma di interfacciarsi tra loro senza dover ridefinire ripetutamente strutture o firme di funzioni. Quando un file sorgente include un file header utilizzando la direttiva del preprocessore #include, il compilatore copia effettivamente il contenuto dell'header nel file sorgente prima che inizi il processo di compilazione. Questo meccanismo è essenziale per gestire progetti software complessi, garantendo la coerenza nelle strutture dati e facilitando l'uso delle librerie. I file header utilizzano spesso le 'include guards'—direttive del preprocessore come #ifndef, #define e #endif—per evitare che lo stesso file venga incluso più volte, il che causerebbe errori di compilazione dovuti a ridefinizioni. Sono la spina dorsale dell'architettura software modulare nella famiglia di linguaggi C.