logo

Overskriftsfiler i C

I C språk , inneholder overskriftsfiler et sett med forhåndsdefinerte standard bibliotekfunksjoner. De .h er utvidelsen av hodefilene i C og vi ber om å bruke en hodefil i programmet vårt ved å inkludere den med C-forbehandlingsdirektivet #inkludere.

C Header-filer tilbyr funksjoner som biblioteksfunksjoner, datatyper, makroer, osv. ved å importere dem til programmet ved hjelp av et preprocessor-direktiv #include.



Syntaks for topptekstfiler i C

Vi kan inkludere header-filer i C ved å bruke en av de gitte to syntaksene, enten det er en forhåndsdefinert eller brukerdefinert header-fil.

Skuespillerinne Sai Pallavi
#include // for files in system/default directory or #include 'filename.h' // for files in same directory as source file>

#include-forprosessoren gir kompilatoren beskjed om at overskriftsfilen må behandles før kompilering og inkluderer alle nødvendige datatyper og funksjonsdefinisjoner.

header-filer i C

C Overskriftsfil



Eksempel på overskriftsfil i C

Eksemplet nedenfor viser bruken av header-filer ved å bruke standard input og output stdio.h header-fil

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

>

>

Produksjon

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

Typer C-overskriftsfiler

Det er to typer header-filer i C:

    Standard / Pre-eksisterende header-filer Ikke-standard / Brukerdefinerte header-filer

1. Standard overskriftsfiler i C og deres bruk

Standard header-filer inneholder bibliotekene som er definert i ISO-standarden for programmeringsspråket C. De er lagret i standardkatalogen til kompilatoren og er til stede i alle C-kompilatorene fra en hvilken som helst leverandør.

Det er 31 standard header-filer i den nyeste versjonen av C-språket. Følgende er listen over noen vanlig brukte header-filer i C:

Overskriftsfil

Beskrivelse

Den inneholder informasjon for å legge til diagnostikk som hjelper programfeilsøking.
Den brukes til å utføre feilhåndteringsoperasjoner som errno(), strerror(), perror(), etc.

Den inneholder et sett med forskjellige plattformavhengige konstanter relatert til flyttallverdier. Disse konstantene er foreslått av ANSI C.

De gjør programmene mer bærbare. Noen eksempler på konstanter inkludert i denne overskriftsfilen er e(eksponent), b(base/radix), etc.

Den brukes til å utføre matematiske operasjoner som sqrt() , log2() , pow() , etc.
Den brukes til å utføre signalhåndteringsfunksjoner som signal() og raise().

Den brukes til å utføre standard argumentfunksjoner som va_start() og va_arg(). Den brukes også til å indikere starten på

argumentliste med variabel lengde og for å hente argumentene fra argumentlisten med variabel lengde i programmet.

Den inneholder funksjonsprototyper for funksjoner som tester tegn for visse egenskaper, og også funksjonsprototyper for

funksjoner som kan brukes til å konvertere store bokstaver til små bokstaver og omvendt.

Den brukes til å utføre inn- og utdataoperasjoner ved å bruke funksjoner som scanf() , printf() , etc.

Den inneholder standard verktøyfunksjoner som malloc(), realloc() osv. Den inneholder funksjonsprototyper for funksjoner som tillater omgåelse

av den vanlige funksjonsanrops- og retursekvensen.

Den brukes til å utføre ulike funksjoner relatert til strengmanipulering som strlen() , strcmp() , strcpy() , størrelse() osv.

Den bestemmer de ulike egenskapene til de ulike variabeltypene. Makroene som er definert i denne overskriften begrenser verdiene til

ulike variable typer som char, int og long. Disse grensene spesifiserer at en variabel ikke kan lagre noen verdi

utover disse grensene kan for eksempel et usignert tegn lagre opptil en maksimal verdi på 255.

Den brukes til å utføre funksjoner relatert til date() og tid() som setdate() og getdate() . Den brukes også til å endre systemdatoen

og få henholdsvis CPU-tiden.

Den inneholder vanlige typedefinisjoner som brukes av C for å utføre beregninger.

Den inneholder funksjonsprototyper og annen informasjon som gjør at et program kan endres for gjeldende lokalitet det kjører på.

Det gjør det mulig for datasystemet å håndtere forskjellige konvensjoner for å uttrykke data som klokkeslett, datoer eller store tall over hele verden.

Eksempel

Eksemplet nedenfor viser bruken av noen ofte brukte header-filer i 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;> }>

utvidelsesfil java

>

typer joins i rdbms

>

Produksjon

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. Ikke-standard header-filer i C og deres bruk

Ikke-standard header-filer er ikke en del av språkets ISO-standard. De er vanligvis alle overskriftsfilene definert av programmererne for formål som å inneholde tilpassede bibliotekfunksjoner osv. De installeres manuelt av brukeren eller kanskje en del av kompilatoren av en bestemt leverandør.

Det er mange ikke-standardbiblioteker for C-språk. Noen vanlige ikke-standard/brukerdefinerte header-filer er oppført nedenfor:

Overskriftsfil Beskrivelse
Den inneholder noen nyttige konsollfunksjoner.
Den inneholder GNUs GUI-bibliotek for C.

Eksempel

Eksemplet nedenfor viser bruken av conio.h ikke-standard header-fil.

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

>

>

Produksjon

Press any key to print message Hello! Geek>

Lag din egen overskriftsfil i C

I stedet for å skrive en stor og kompleks kode, kan vi lage våre egne header-filer og inkludere dem i programmet vårt for å bruke når vi vil. Det forbedrer kodefunksjonalitet og lesbarhet. Nedenfor er trinnene for å lage vår egen overskriftsfil:

Trinn 1: Skriv din egen C-kode og lagre den filen med .h Utvidelse. Nedenfor er illustrasjonen av overskriftsfilen:

C




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

>

konvertering av int til streng i java

>

Steg 2: Inkluder overskriftsfilen din med #inkludere i ditt C-program som vist nedenfor:

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

>

>

Produksjon

Sum is: 35>

Inkludert flere topptekstfiler

Du kan bruke ulike header-filer i et program. Når en header-fil er inkludert to ganger i et program, behandler kompilatoren innholdet i den header-filen to ganger. Dette fører til en feil i programmet. For å eliminere denne feilen brukes betingede forbehandlerdirektiver.

Syntaks

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

Denne konstruksjonen kalles wrapper #ifndef . Når overskriften er inkludert igjen, vil den betingede bli falsk, fordi HEADER_FILE_NAME er definert. Forbehandleren vil hoppe over hele filinnholdet, og kompilatoren vil ikke se det to ganger.

Noen ganger er det viktig å inkludere flere forskjellige overskriftsfiler basert på kravene til programmet. For dette brukes flere betingelser.

Syntaks

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