logo

Fișierele antet în C

În limbajul C , fișierele antet conțin un set de funcții standard predefinite de bibliotecă. The .h este extensia fișierelor antet în C și solicităm să folosim un fișier antet în programul nostru incluzându-l cu directiva de preprocesare C #include.

Fișierele C Header oferă caracteristici precum funcții de bibliotecă, tipuri de date, macrocomenzi etc., importându-le în program cu ajutorul unei directive de preprocesor #include.



Sintaxa fișierelor de antet în C

Putem include fișiere antet în C utilizând una dintre cele două sintaxe date, indiferent dacă este un fișier antet predefinit sau definit de utilizator.

j e s t
#include // for files in system/default directory or #include 'filename.h' // for files in same directory as source file>

Preprocesorul #include direcționează compilatorului că fișierul antet trebuie procesat înainte de compilare și include toate tipurile de date și definițiile funcției necesare.

fișierele antet în C

C Fișier antet



Exemplu de fișier antet în C

Exemplul de mai jos demonstrează utilizarea fișierelor antet folosind fișierul antet standard de intrare și ieșire 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;> }>

>

>

Ieșire

Printf() is the function in stdio.h header file>

Tipuri de fișiere antet C

Există două tipuri de fișiere antet în C:

    Fișiere antet standard / preexistente Fișiere antet nestandard / definite de utilizator

1. Fișierele antet standard în C și utilizările lor

Fișierele de antet standard conțin bibliotecile definite în standardul ISO al limbajului de programare C. Acestea sunt stocate în directorul implicit al compilatorului și sunt prezente în toate compilatoarele C de la orice furnizor.

Există 31 de fișiere de antet standard în cea mai recentă versiune a limbajului C. Mai jos este lista unor fișiere de antet utilizate în mod obișnuit în C:

Fișier antet

Descriere

Conține informații pentru adăugarea de diagnostice care ajută la depanarea programului.
Este folosit pentru a efectua operațiuni de tratare a erorilor precum errno(), strerror(), perror(), etc.

Conține un set de diverse constante dependente de platformă legate de valorile în virgulă mobilă. Aceste constante sunt propuse de ANSI C.

Ei fac programele mai portabile. Câteva exemple de constante incluse în acest fișier antet sunt: ​​e(exponent), b(bază/radix), etc.

Este folosit pentru a efectua operații matematice precum sqrt() , log2() , pow() etc.
Este folosit pentru a efectua funcții de gestionare a semnalului precum signal() și raise().

Este folosit pentru a executa funcții argument standard precum va_start() și va_arg(). De asemenea, este folosit pentru a indica începutul

lista de argumente cu lungime variabilă și pentru a prelua argumentele din lista de argumente cu lungime variabilă din program.

Conține prototipuri de funcții pentru funcții care testează caractere pentru anumite proprietăți și, de asemenea, prototipuri de funcție pentru

funcții care pot fi folosite pentru a converti literele mari în litere mici și invers.

Este folosit pentru a efectua operațiuni de intrare și ieșire folosind funcții precum scanf() , printf() etc.

Conține funcții utilitare standard, cum ar fi malloc(), realloc(), etc. Conține prototipuri de funcții pentru funcții care permit ocolirea

a secvenței obișnuite de apelare a funcției și de returnare.

Este folosit pentru a efectua diverse funcționalități legate de manipularea șirurilor, cum ar fi strlen() , strcmp() , strcpy() , dimensiune(), etc.

Determină diferitele proprietăți ale diferitelor tipuri de variabile. Macrocomenzile definite în acest antet limitează valorile

diverse tipuri de variabile precum char, int și long. Aceste limite specifică faptul că o variabilă nu poate stoca nicio valoare

dincolo de aceste limite, de exemplu, un caracter nesemnat poate stoca până la o valoare maximă de 255.

Este folosit pentru a efectua funcții legate de date() și timp() precum setdate() și getdate() . De asemenea, este folosit pentru a modifica data sistemului

și, respectiv, obțineți timpul CPU.

Conține definiții de tip comune utilizate de C pentru efectuarea calculelor.

Conține prototipuri de funcții și alte informații care permit modificarea unui program pentru localitatea curentă în care rulează.

Acesta permite sistemului informatic să gestioneze diferite convenții pentru exprimarea datelor, cum ar fi ore, date sau numere mari din întreaga lume.

Exemplu

Exemplul de mai jos demonstrează utilizarea unor fișiere de antet utilizate în mod obișnuit în 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;> }>

proiectarea bazei de date în dbms

>

>

Ieșire

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. Fișiere antet non-standard în C și utilizările lor

Fișierele antet non-standard nu fac parte din standardul ISO al limbii. Ele sunt, în general, toate fișierele de antet definite de programatori în scopuri precum conținutul de funcții personalizate de bibliotecă etc. Sunt instalate manual de către utilizator sau poate parte din compilator de către un anumit furnizor.

Există o mulțime de biblioteci non-standard pentru limbajul C. Câteva fișiere de antet non-standard/definite de utilizator utilizate în mod obișnuit sunt enumerate mai jos:

Fișier antet Descriere
Conține câteva funcții utile ale consolei.
Conține biblioteca GNU GUI pentru C.

Exemplu

ce este const în java

Exemplul de mai jos demonstrează utilizarea fișierului antet non-standard 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;> }>

>

>

Ieșire

Press any key to print message Hello! Geek>

Creați-vă propriul fișier antet în C

În loc să scriem un cod mare și complex, ne putem crea propriile fișiere antet și le putem include în programul nostru pentru a le folosi oricând dorim. Îmbunătățește funcționalitatea și lizibilitatea codului. Mai jos sunt pașii pentru a crea propriul fișier antet:

Pasul 1: Scrieți propriul cod C și salvați acel fișier cu .h extensie. Mai jos este ilustrarea fișierului antet:

C




// Function to find the sum of two> // numbers passed> int> sumOfTwoNumbers(>int> a,>int> b)> {> >return> (a + b);> }>

>

descărca video youtube vlc

>

Pasul 2: Includeți fișierul antet cu #include în programul dvs. C, după cum se arată mai jos:

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));> }>

>

>

Ieșire

Sum is: 35>

Inclusiv mai multe fișiere antet

Puteți utiliza diferite fișiere de antet într-un program. Când un fișier antet este inclus de două ori într-un program, compilatorul procesează conținutul acelui fișier antet de două ori. Acest lucru duce la o eroare în program. Pentru a elimina această eroare, sunt folosite directive condiționale de preprocesor.

Sintaxă

#ifndef HEADER_FILE_NAME #define HEADER_FILE_NAME the entire header file #endif>

Acest construct se numește wrapper #ifndef . Când antetul este inclus din nou, condiționalul va deveni fals, deoarece HEADER_FILE_NAME este definit. Preprocesorul va sări peste întregul conținut al fișierului, iar compilatorul nu îl va vedea de două ori.

Uneori este esențial să includeți mai multe fișiere de antet diverse, în funcție de cerințele programului. Pentru aceasta, sunt folosite mai multe condiționale.

Sintaxă

#if SYSTEM_ONE #include 'system1.h' #elif SYSTEM_TWO #include 'system2.h' #elif SYSTEM_THREE .... #endif>