In jazyk C , hlavičkové súbory obsahujú sadu preddefinovaných štandardných knižničných funkcií. The .h je rozšírenie hlavičkových súborov v C a požadujeme použiť hlavičkový súbor v našom programe tak, že ho zahrnieme do direktívy C preprocessing #include.
Súbory hlavičky C ponúkajú funkcie, ako sú funkcie knižnice, typy údajov, makrá atď., a to ich importovaním do programu pomocou príkazu preprocesora #include.
Syntax hlavičkových súborov v C
Súbory hlavičiek môžeme zahrnúť do jazyka C pomocou jednej z daných dvoch syntaxí, či už ide o preddefinovaný alebo používateľom definovaný súbor hlavičky.
latexový stôl
#include // for files in system/default directory or #include 'filename.h' // for files in same directory as source file>
Preprocesor #include nasmeruje kompilátor, že hlavičkový súbor je potrebné spracovať pred kompiláciou a obsahuje všetky potrebné typy údajov a definície funkcií.

Hlavičkový súbor C
Príklad hlavičkového súboru v C
Nižšie uvedený príklad ukazuje použitie hlavičkových súborov pomocou štandardného vstupného a výstupného hlavičkového súboru stdio.h
C
// C program to demonstrate the use of header files> // standard input and output stdio.h header file> #include> int> main()> {> >printf>(> >'Printf() is the function in stdio.h header file'>);> >return> 0;> }> |
>
>Výkon
Printf() is the function in stdio.h header file>
Typy hlavičkových súborov C
V C sú dva typy hlavičkových súborov:
- Štandardné / Existujúce hlavičkové súbory Neštandardné / Používateľom definované hlavičkové súbory
1. Štandardné hlavičkové súbory v C a ich použitie
Štandardné hlavičkové súbory obsahujú knižnice definované v norme ISO programovacieho jazyka C. Sú uložené v predvolenom adresári kompilátora a sú prítomné vo všetkých kompilátoroch C od akéhokoľvek dodávateľa.
V najnovšej verzii jazyka C existuje 31 štandardných hlavičkových súborov. Nasleduje zoznam niektorých bežne používaných hlavičkových súborov v C:
| Hlavička súboru | Popis |
|---|---|
| Obsahuje informácie na pridanie diagnostiky, ktorá pomáha pri ladení programu. | |
| Používa sa na vykonávanie operácií spracovania chýb ako errno(), strerror(), perror() atď. | |
| Obsahuje súbor rôznych konštánt závislých od platformy, ktoré súvisia s hodnotami s pohyblivou rádovou čiarkou. Tieto konštanty navrhuje ANSI C. Vďaka nim sú programy prenosnejšie. Niektoré príklady konštánt zahrnutých v tomto hlavičkovom súbore sú - e (exponent), b (základ/radix) atď. | |
| Používa sa na vykonávanie matematických operácií ako sqrt() , log2() , pow() atď. | |
| Používa sa na vykonávanie funkcií spracovania signálu, ako je signal() a raise(). | |
| Používa sa na vykonávanie štandardných argumentových funkcií ako va_start() a va_arg(). Používa sa tiež na označenie začiatku zoznam argumentov s premennou dĺžkou a na získanie argumentov zo zoznamu argumentov s premenlivou dĺžkou v programe. | |
| Obsahuje prototypy funkcií pre funkcie, ktoré testujú znaky na určité vlastnosti, a tiež prototypy funkcií funkcie, ktoré možno použiť na konverziu veľkých písmen na malé písmená a naopak. | |
| Používa sa na vykonávanie vstupných a výstupných operácií pomocou funkcií ako scanf() , printf() atď. | |
| Obsahuje štandardné pomocné funkcie ako malloc(), realloc() atď. Obsahuje prototypy funkcií pre funkcie, ktoré umožňujú obísť zvyčajného volania a návratovej sekvencie funkcie. | |
| Používa sa na vykonávanie rôznych funkcií súvisiacich s manipuláciou s reťazcami, ako napr strlen() , strcmp() , strcpy() , size() atď. | |
| Určuje rôzne vlastnosti rôznych typov premenných. Makrá definované v tejto hlavičke obmedzujú hodnoty rôzne typy premenných ako char, int a long. Tieto limity určujú, že premenná nemôže uložiť žiadnu hodnotu mimo týchto limitov môže napríklad znak bez znamienka uložiť až do maximálnej hodnoty 255. | |
| Používa sa na vykonávanie funkcií súvisiacich s date() a čas() ako setdate() a getdate() . Používa sa aj na úpravu systémového dátumu a získajte čas procesora. | |
| Obsahuje bežné definície typov, ktoré používa C na vykonávanie výpočtov. | |
| Obsahuje prototypy funkcií a ďalšie informácie, ktoré umožňujú úpravu programu pre aktuálne miestne nastavenie, na ktorom beží. Umožňuje počítačovému systému zvládnuť rôzne konvencie na vyjadrenie údajov, ako sú časy, dátumy alebo veľké čísla na celom svete. |
Príklad
Nižšie uvedený príklad ukazuje použitie niektorých bežne používaných hlavičkových súborov v C.
C
// C program to illustrate> // the use of header file> // in C> #include> #include> #include> #include> // Driver Code> int> main()> {> >char> s1[20] =>'12345'>;> >char> s2[10] =>'Geeks'>;> >char> s3[10] =>'ForGeeks'>;> >long> int> res;> >// Find the value of 9^3 using a> >// function in math.h library> >res =>pow>(9, 3);> >printf>(>'Using math.h, '> >'The value is: %ld
'>,> >res);> >// Convert a string to long long int> >// using a function in stdlib.h library> >long> int> a =>atol>(s1);> >printf>(>'Using stdlib.h, the string'>);> >printf>(>' to long int: %ld
'>, a);> >// Copy the string s3 into s2 using> >// using a function in string.h library> >strcpy>(s2, s3);> >printf>(>'Using string.h, the strings'> >' s2 and s3: %s %s
'>,> >s2, s3);> >return> 0;> }> |
pole pridávanie prvkov java
>
>Výkon
Using math.h, The value is: 729 Using stdlib.h, the string to long int: 12345 Using string.h, the strings s2 and s3: ForGeeks ForGeeks>
2. Neštandardné hlavičkové súbory v jazyku C a ich použitie
Neštandardné hlavičkové súbory nie sú súčasťou normy ISO jazyka. Vo všeobecnosti sú to všetky hlavičkové súbory definované programátormi na účely, ako je obsah vlastných knižničných funkcií atď. Manuálne ich inštaluje používateľ alebo možno časť kompilátora od nejakého konkrétneho dodávateľa.
Existuje veľa neštandardných knižníc pre jazyk C. Niektoré bežne používané neštandardné/používateľom definované hlavičkové súbory sú uvedené nižšie:
| Hlavička súboru | Popis |
|---|---|
| Obsahuje niekoľko užitočných funkcií konzoly. | |
| Obsahuje knižnicu GNU GUI pre C. |
Príklad
Nasledujúci príklad demonštruje použitie neštandardného súboru hlavičky conio.h.
C
#include> #include> // Function to display a welcome message> void> displayMessage() {> >printf>(>'Hello! Geek
'>);> }> int> main() {> >// Using conio.h functions> >printf>(>'Press any key to print message
'>);> >getch();>// Wait for a key press> >// Call the additional function after a key press> >displayMessage();> >return> 0;> }> |
príklad java lambda
>
>
Výkon
Press any key to print message Hello! Geek>
Vytvorte si vlastný hlavičkový súbor v C
Namiesto písania veľkého a zložitého kódu si môžeme vytvoriť vlastné hlavičkové súbory a zahrnúť ich do nášho programu, aby sme ich mohli kedykoľvek použiť. Zlepšuje funkčnosť a čitateľnosť kódu. Nižšie sú uvedené kroky na vytvorenie vlastného súboru hlavičky:
Krok 1: Napíšte svoj vlastný kód C a uložte tento súbor pomocou súboru .h rozšírenie. Nižšie je ilustrácia súboru hlavičky:
C
// Function to find the sum of two> // numbers passed> int> sumOfTwoNumbers(>int> a,>int> b)> {> >return> (a + b);> }> |
>
stiahnite si video z youtube vlc
>
Krok 2: Zahrňte svoj hlavičkový súbor s #include vo vašom programe C, ako je uvedené nižšie:
C
// C++ program to find the sum of two> // numbers using function declared in> // header file> #include 'iostream'> // Including header file> #include 'sum.h'> using> namespace> std;> // Driver Code> int> main()> {> >// Given two numbers> >int> a = 13, b = 22;> >// Function declared in header> >// file to find the sum> >printf>(>'Sum is: %d'>, sumoftwonumbers(a, b));> }> |
>
>
Výkon
Sum is: 35>
Vrátane viacerých hlavičkových súborov
V programe môžete použiť rôzne hlavičkové súbory. Keď je hlavičkový súbor zahrnutý dvakrát do programu, kompilátor spracuje obsah tohto hlavičkového súboru dvakrát. To vedie k chybe v programe. Na odstránenie tejto chyby sa používajú podmienené direktívy preprocesora.
Syntax
#ifndef HEADER_FILE_NAME #define HEADER_FILE_NAME the entire header file #endif>
Táto konštrukcia sa nazýva wrapper #ifndef . Keď je hlavička znova zahrnutá, podmienená sa stane nepravdivou, pretože HEADER_FILE_NAME je definovaný. Preprocesor preskočí celý obsah súboru a kompilátor ho dvakrát neuvidí.
Niekedy je nevyhnutné zahrnúť niekoľko rôznych hlavičkových súborov na základe požiadaviek programu. Na tento účel sa používa viacero podmienok.
Syntax
#if SYSTEM_ONE #include 'system1.h' #elif SYSTEM_TWO #include 'system2.h' #elif SYSTEM_THREE .... #endif>