In C valoda , galvenes faili satur iepriekš definētu standarta bibliotēkas funkciju kopu. The .h ir galvenes failu paplašinājums valodā C, un mēs pieprasām mūsu programmā izmantot galvenes failu, iekļaujot to C priekšapstrādes direktīvā #iekļauts.
C Galvenes faili piedāvā tādas funkcijas kā bibliotēkas funkcijas, datu tipi, makro utt., importējot tos programmā, izmantojot priekšapstrādātāja direktīvu #include.
Galvenes failu sintakse valodā C
Mēs varam iekļaut galvenes failus C, izmantojot vienu no divām norādītajām sintaksēm neatkarīgi no tā, vai tas ir iepriekš definēts vai lietotāja definēts galvenes fails.
kaudze un kaudze šķirot
#include // for files in system/default directory or #include 'filename.h' // for files in same directory as source file>
Priekšapstrādātājs #include norāda kompilatoram, ka galvenes fails ir jāapstrādā pirms kompilācijas, un tajā ir iekļauti visi nepieciešamie datu veidi un funkciju definīcijas.

C galvenes fails
C galvenes faila piemērs
Tālāk sniegtajā piemērā ir parādīta galvenes failu izmantošana, izmantojot standarta ievades un izvades stdio.h galvenes failu
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;> }> |
>
>Izvade
Printf() is the function in stdio.h header file>
C galvenes failu veidi
C ir divu veidu galvenes faili:
- Standarta / iepriekš esošie galvenes faili Nestandarta / lietotāja definēti galvenes faili
1. Standarta galvenes faili C un to izmantošana
Standarta galvenes faili satur C programmēšanas valodas ISO standartā definētās bibliotēkas. Tie tiek glabāti kompilatora noklusējuma direktorijā un ir pieejami visos C kompilatoros no jebkura piegādātāja.
C valodas jaunākajā versijā ir 31 standarta galvenes fails. Tālāk ir sniegts saraksts ar dažiem parasti izmantotajiem C galvenes failiem:
| Galvenes fails | Apraksts |
|---|---|
| Tajā ir informācija par diagnostikas pievienošanu, kas palīdz programmas atkļūdošanā. | |
| To izmanto, lai veiktu kļūdu apstrādes darbības, piemēram, errno (), strerror (), perror () utt. | |
| Tas satur dažādu no platformas atkarīgu konstantu kopu, kas saistītas ar peldošā komata vērtībām. Šīs konstantes ierosina ANSI C. Tie padara programmas pārnēsājamākas. Daži šajā galvenes failā iekļauto konstantu piemēri ir e (eksponents), b (bāze/radikss) utt. | |
| To izmanto, lai veiktu matemātiskas darbības, piemēram, sqrt (), log2 (), pow () utt. | |
| To izmanto, lai veiktu signālu apstrādes funkcijas, piemēram, signāls () un raise (). | |
| To izmanto, lai veiktu standarta argumentu funkcijas, piemēram, va_start () un va_arg (). To izmanto arī, lai norādītu sākuma sākumu mainīga garuma argumentu sarakstu un attiecīgi ienest argumentus no mainīga garuma argumentu saraksta programmā. | |
| Tas satur funkciju prototipus funkcijām, kas pārbauda rakstzīmes noteiktām īpašībām, kā arī funkciju prototipus funkcijas, ko var izmantot, lai pārvērstu lielos burtus par mazajiem burtiem un otrādi. | |
| To izmanto, lai veiktu ievades un izvades darbības, izmantojot tādas funkcijas kā scanf() , printf() utt. | |
| Tas satur standarta utilīta funkcijas, piemēram, malloc(), realloc() utt. Tajā ir ietverti funkciju prototipi funkcijām, kas ļauj apiet parastās funkcijas izsaukšanas un atgriešanas secības. | |
| To izmanto, lai veiktu dažādas funkcijas, kas saistītas ar virkņu manipulācijām, piemēram strlen() , strcmp() , strcpy() , size() utt. | |
| Tas nosaka dažādu mainīgo veidu dažādās īpašības. Šajā galvenē definētie makro ierobežo vērtības dažādu veidu mainīgie, piemēram, char, int un long. Šie ierobežojumi nosaka, ka mainīgais nevar saglabāt nevienu vērtību pārsniedzot šos ierobežojumus, piemēram, rakstzīme bez paraksta var saglabāt maksimālo vērtību 255. | |
| To izmanto, lai veiktu funkcijas, kas saistītas ar datumu () un laiks() piemēram, setdate() un getdate() . To izmanto arī, lai mainītu sistēmas datumu un iegūstiet attiecīgi CPU laiku. | |
| Tajā ir vispārīgas tipu definīcijas, ko C izmanto aprēķinu veikšanai. | |
| Tajā ir ietverti funkciju prototipi un cita informācija, kas ļauj modificēt programmu atbilstoši pašreizējai lokalizācijai, kurā tā darbojas. Tas ļauj datorsistēmai visā pasaulē apstrādāt dažādas datu izteikšanas metodes, piemēram, laikus, datumus vai lielus skaitļus. |
Piemērs
Tālāk esošajā piemērā ir parādīta dažu bieži lietotu galvenes failu izmantošana 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;> }> |
java virknes pievienošana
>
>Izvade
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. Nestandarta galvenes faili C un to izmantošana
Nestandarta galvenes faili nav daļa no valodas ISO standarta. Parasti tie ir visi galvenes faili, ko programmētāji ir definējuši tādiem nolūkiem kā pielāgotas bibliotēkas funkcijas utt. Tos manuāli instalē lietotājs vai, iespējams, kompilatora daļu, kāds konkrēts piegādātājs.
C valodai ir daudz nestandarta bibliotēku. Tālāk ir norādīti daži bieži izmantotie nestandarta/lietotāja definēti galvenes faili.
| Galvenes fails | Apraksts |
|---|---|
| Tajā ir dažas noderīgas konsoles funkcijas. | |
| Tajā ir GNU GUI bibliotēka C. |
Piemērs
Tālāk sniegtajā piemērā ir parādīta nestandarta galvenes faila conio.h izmantošana.
C
objektu vienlīdzība java
#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;> }> |
>
>
Izvade
Press any key to print message Hello! Geek>
Izveidojiet savu galvenes failu programmā C
Tā vietā, lai rakstītu lielu un sarežģītu kodu, mēs varam izveidot savus galvenes failus un iekļaut tos mūsu programmā, lai tos izmantotu, kad vien vēlamies. Tas uzlabo koda funkcionalitāti un lasāmību. Tālāk ir norādītas darbības, lai izveidotu mūsu galvenes failu:
1. darbība: Uzrakstiet savu C kodu un saglabājiet šo failu ar .h pagarinājumu. Zemāk ir galvenes faila ilustrācija:
C
// Function to find the sum of two> // numbers passed> int> sumOfTwoNumbers(>int> a,>int> b)> {> >return> (a + b);> }> |
>
saraksta rādītājs
>
2. darbība: Iekļaujiet galvenes failu ar #iekļauts savā C programmā, kā parādīts zemāk:
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));> }> |
>
>
Izvade
Sum is: 35>
Ieskaitot vairākus galvenes failus
Programmā varat izmantot dažādus galvenes failus. Ja galvenes fails programmā ir iekļauts divreiz, kompilators apstrādā šī galvenes faila saturu divreiz. Tas noved pie kļūdas programmā. Lai novērstu šo kļūdu, tiek izmantotas nosacījuma priekšprocesora direktīvas.
Sintakse
#ifndef HEADER_FILE_NAME #define HEADER_FILE_NAME the entire header file #endif>
Šo konstrukciju sauc par iesaiņojumu #ifndef . Kad galvene tiks iekļauta vēlreiz, nosacījums kļūs nepatiess, jo HEADER_FILE_NAME ir definēts. Priekšapstrādātājs izlaidīs visu faila saturu, un kompilators to neredzēs divreiz.
Dažreiz ir svarīgi iekļaut vairākus dažādus galvenes failus, pamatojoties uz programmas prasībām. Šim nolūkam tiek izmantoti vairāki nosacījumi.
Sintakse
#if SYSTEM_ONE #include 'system1.h' #elif SYSTEM_TWO #include 'system2.h' #elif SYSTEM_THREE .... #endif>