Į C kalba , antraštės failuose yra iš anksto nustatytų standartinių bibliotekos funkcijų rinkinys. The .h yra C antraštės failų plėtinys ir mes prašome naudoti antraštės failą mūsų programoje įtraukdami jį į C išankstinio apdorojimo direktyvą #įtraukti.
C Antraštės failai siūlo tokias funkcijas kaip bibliotekos funkcijos, duomenų tipai, makrokomandos ir t. t., importuodami juos į programą naudodami išankstinio procesoriaus direktyvą #include.
Antraštės failų sintaksė C
Antraštės failus galime įtraukti į C, naudodami vieną iš dviejų pateiktų sintaksių, nesvarbu, ar tai iš anksto nustatytas, ar vartotojo nustatytas antraštės failas.
java kodavimo if else teiginys
#include // for files in system/default directory or #include 'filename.h' // for files in same directory as source file>
Pirminis procesorius #include nurodo kompiliatoriui, kad antraštės failas turi būti apdorotas prieš kompiliavimą ir apima visus reikiamus duomenų tipus ir funkcijų apibrėžimus.

C antraštės failas
Antraštės failo pavyzdys C
Toliau pateiktame pavyzdyje parodytas antraščių failų naudojimas naudojant standartinį įvesties ir išvesties stdio.h antraštės failą
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;> }> |
>
>Išvestis
Printf() is the function in stdio.h header file>
C antraštės failų tipai
C yra dviejų tipų antraštės failai:
- Standartiniai / jau esami antraščių failai Nestandartiniai / vartotojo nustatyti antraščių failai
1. Standartiniai antraštės failai C ir jų naudojimas
Standartiniuose antraštės failuose yra bibliotekos, apibrėžtos C programavimo kalbos ISO standarte. Jie saugomi numatytame kompiliatoriaus kataloge ir yra visuose bet kurio tiekėjo C kompiliatoriuose.
Naujausioje C kalbos versijoje yra 31 standartinis antraščių failas. Toliau pateikiamas kai kurių dažniausiai naudojamų C antraštės failų sąrašas:
Antraštės failas | apibūdinimas |
---|---|
Jame yra informacijos, kaip pridėti diagnostiką, kuri padeda derinti programą. | |
Jis naudojamas klaidų tvarkymo operacijoms, tokioms kaip errno (), strerror (), perror () ir kt., atlikti. | |
Jame yra įvairių nuo platformos priklausančių konstantų, susijusių su slankiojo kablelio reikšmėmis, rinkinys. Šias konstantas siūlo ANSI C. Jie daro programas labiau nešiojamas. Kai kurie į šį antraštės failą įtrauktų konstantų pavyzdžiai yra e (rodiklis), b (bazė/radiksas) ir kt. | |
Jis naudojamas matematinėms operacijoms, tokioms kaip sqrt() , log2() , pow() ir kt. | |
Jis naudojamas signalų tvarkymo funkcijoms, tokioms kaip signalas() ir pakelti(). | |
Jis naudojamas atlikti standartines argumentų funkcijas, tokias kaip va_start () ir va_arg (). Jis taip pat naudojamas norint nurodyti pradžią kintamo ilgio argumentų sąrašą ir atitinkamai gauti argumentus iš kintamo ilgio argumentų sąrašo programoje. | |
Jame yra funkcijų prototipai funkcijoms, kurios tikrina tam tikrų savybių simbolius, taip pat funkcijų prototipus funkcijos, kuriomis galima konvertuoti didžiąsias raides į mažąsias ir atvirkščiai. | |
Jis naudojamas įvesties ir išvesties operacijoms atlikti naudojant tokias funkcijas kaip scanf() , printf() ir kt. | |
Jame yra standartinių naudingumo funkcijų, tokių kaip malloc(), realloc() ir tt Jame yra funkcijų prototipai funkcijoms, kurios leidžia apeiti įprastos funkcijos iškvietimo ir grąžinimo sekos. | |
Jis naudojamas įvairioms funkcijoms, susijusioms su manipuliavimu eilutėmis, atlikti strlen() , strcmp() , strcpy() , size() ir kt. | |
Jis nustato įvairias įvairių kintamųjų tipų savybes. Šioje antraštėje apibrėžtos makrokomandos riboja reikšmes įvairių tipų kintamieji, pvz., char, int ir long. Šios ribos nurodo, kad kintamasis negali saugoti jokios reikšmės viršijant šias ribas, pavyzdžiui, be ženklo simbolis gali saugoti iki didžiausios 255 reikšmės. | |
Jis naudojamas funkcijoms, susijusioms su data() ir laikas() kaip setdate() ir getdate() . Jis taip pat naudojamas keisti sistemos datą ir gauti atitinkamai procesoriaus laiką. | |
Jame yra bendrų tipų apibrėžimų, kuriuos C naudoja skaičiavimams atlikti. | |
Jame yra funkcijų prototipai ir kita informacija, kuri leidžia modifikuoti programą pagal dabartinę lokalę, kurioje ji veikia. Tai leidžia kompiuterinei sistemai tvarkyti įvairias duomenų, pvz., laiko, datos ar didelių skaičių, išreiškimo taisykles visame pasaulyje. |
Pavyzdys
Toliau pateiktame pavyzdyje parodytas kai kurių dažniausiai naudojamų antraščių failų naudojimas 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;> }> |
ms word greitosios prieigos įrankių juosta
>
>Išvestis
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. Nestandartiniai antraštės failai C ir jų naudojimas
Nestandartiniai antraštės failai nėra kalbos ISO standarto dalis. Paprastai tai yra visi antraštės failai, kuriuos programišiai apibrėžia tokiems tikslams kaip pasirinktinių bibliotekos funkcijų ir tt. Juos rankiniu būdu įdiegia vartotojas arba, galbūt, dalį kompiliatoriaus koks nors konkretus pardavėjas.
Yra daug nestandartinių C kalbos bibliotekų. Kai kurie dažniausiai naudojami nestandartiniai / vartotojo apibrėžti antraščių failai yra išvardyti toliau:
Antraštės failas | apibūdinimas |
---|---|
Jame yra keletas naudingų konsolės funkcijų. | |
Jame yra GNU GUI biblioteka, skirta C. |
Pavyzdys
Toliau pateiktame pavyzdyje parodytas nestandartinės antraštės failo conio.h naudojimas.
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;> }> |
>
>
Išvestis
Press any key to print message Hello! Geek>
Sukurkite savo antraštės failą C
Užuot rašę didelį ir sudėtingą kodą, galime sukurti savo antraštės failus ir įtraukti juos į savo programą, kad galėtume naudoti kada tik norime. Tai pagerina kodo funkcionalumą ir skaitomumą. Toliau pateikiami žingsniai, kaip sukurti savo antraštės failą:
1 žingsnis: Parašykite savo C kodą ir išsaugokite failą su .h pratęsimas. Žemiau yra antraštės failo iliustracija:
konvertuoti int į java eilutę
C
// Function to find the sum of two> // numbers passed> int> sumOfTwoNumbers(> int> a,> int> b)> {> > return> (a + b);> }> |
>
tipo liejimas ir tipo konvertavimas Java
>
2 žingsnis: Įtraukite savo antraštės failą su #įtraukti savo C programoje, kaip parodyta žemiau:
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));> }> |
>
>
Išvestis
Sum is: 35>
Įskaitant kelis antraštės failus
Programoje galite naudoti įvairius antraštės failus. Kai antraštės failas du kartus įtraukiamas į programą, kompiliatorius du kartus apdoroja to antraštės failo turinį. Tai veda prie programos klaidos. Norėdami pašalinti šią klaidą, naudojamos sąlyginės išankstinio procesoriaus direktyvos.
Sintaksė
#ifndef HEADER_FILE_NAME #define HEADER_FILE_NAME the entire header file #endif>
Ši konstrukcija vadinama vyniotuvu #ifndef . Kai antraštė vėl įtraukiama, sąlyginė sąlyga taps klaidinga, nes HEADER_FILE_NAME yra apibrėžta. Pirminis procesorius praleis visą failo turinį, o kompiliatorius jo nematys du kartus.
Kartais labai svarbu įtraukti kelis skirtingus antraštės failus, atsižvelgiant į programos reikalavimus. Tam naudojamos kelios sąlygos.
Sintaksė
#if SYSTEM_ONE #include 'system1.h' #elif SYSTEM_TWO #include 'system2.h' #elif SYSTEM_THREE .... #endif>