Uživatelské nástroje

Nástroje pro tento web


strprg:c:header_file

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.

strprg/c/header_file.txt · Poslední úprava: 08. 03. 2014, 10.19 (upraveno mimo DokuWiki)