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.