Header file, alias hlavičkový soubor (*.h), nás při programování zbaví nutnosti mít celé funkce a metody napsané v jednom .c souboru. Jednoduše si díky němu můžeme jeden extrémně dlouhý kód rozložit do několika souborů, přičemž stačí funkci naprogramovat jednou a v dalších souborech ji pouze volat.
V hlavičkovém souboru se zpravidla vyskytují pouze deklarace funkcí (první řádek -- bez těla funkce ve složených závorkách -- a středník) a případně deklarace konstant nebo define. Samotný kód (implementace) funkcí se pak nachází v souboru *.c, jehož jméno je totožné se jménem hlavičkového souboru.
== Jak na .h soubor ==
Začneme deklarací hlavičkového souboru s názvem "name.h", obsah souboru vypodmínkujeme pomocí direktivy ''ifndef'' a zadefinování ''_NAME_H'', kde "name" je název souboru. Toto zamezí několikanásobnému vkládání pokud se tento hlavičkový soubor vkládá v jednom souboru na několika místech nebo třeba znovu v dalších vkládaných souborech.
#ifndef _NAME_H
#define _NAME_H
Pokračujeme deklarací konstant, které používáme v .c souborech spojených tímto header filem.
#define CONSTANT1
#define CONSTANT2
A nyní se konečně dostáváme k funkcím, kde stačí funkci, se všemi parametry, zadeklarovat. Protože jsem líný něco vymýšlet tak použiji příklad z našich piškvorek.
int putSymbol(char symbol,int x, int y, char board[X_SIZE][Y_SIZE]);
void clearBoard(char board[X_SIZE][Y_SIZE]);
A stačí už jen zakončit příkazem:
#endif
== Jak ho použít? ==
Úplně jedndoduše. Stačí pouze v .c souborech spojených header filem použít funkci #include tímto způsobem:
#include "name.h"
Všimneme si tu toho, že název našeho vlastního hlavičkového souboru je v uvozovkách, nikoliv špičatých závorkách, jako je tomu u hlavičkových souborů systémových.