W Język C , pliki nagłówkowe zawierają zestaw predefiniowanych standardowych funkcji bibliotecznych. The .H jest rozszerzeniem plików nagłówkowych w C i prosimy o użycie pliku nagłówkowego w naszym programie poprzez dołączenie go do dyrektywy wstępnego przetwarzania C #włączać.
Pliki nagłówkowe C oferują funkcje takie jak funkcje biblioteczne, typy danych, makra itp., importując je do programu za pomocą dyrektywy preprocesora #include.
Składnia plików nagłówkowych w C
Możemy dołączyć pliki nagłówkowe w C, używając jednej z podanych dwóch składni, niezależnie od tego, czy jest to plik nagłówkowy predefiniowany, czy zdefiniowany przez użytkownika.
mysz i rodzaje myszy
#include // for files in system/default directory or #include 'filename.h' // for files in same directory as source file>
Preprocesor #include wskazuje kompilatorowi, że plik nagłówkowy musi zostać przetworzony przed kompilacją i zawiera wszystkie niezbędne typy danych i definicje funkcji.

Plik nagłówkowy C
Przykład pliku nagłówkowego w C
Poniższy przykład ilustruje użycie plików nagłówkowych przy użyciu standardowego pliku nagłówkowego wejścia i wyjścia 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;> }> |
>
>Wyjście
Printf() is the function in stdio.h header file>
Typy plików nagłówkowych C
W C istnieją dwa typy plików nagłówkowych:
- Standardowe / istniejące pliki nagłówkowe Niestandardowe / zdefiniowane przez użytkownika pliki nagłówkowe
1. Standardowe pliki nagłówkowe w C i ich zastosowania
Standardowe pliki nagłówkowe zawierają biblioteki zdefiniowane w standardzie ISO języka programowania C. Są one przechowywane w domyślnym katalogu kompilatora i są obecne we wszystkich kompilatorach C dowolnego dostawcy.
W najnowszej wersji języka C dostępnych jest 31 standardowych plików nagłówkowych. Poniżej znajduje się lista niektórych powszechnie używanych plików nagłówkowych w C:
Plik nagłówkowy | Opis |
---|---|
Zawiera informacje dotyczące dodawania diagnostyki ułatwiającej debugowanie programu. | |
Służy do wykonywania operacji obsługi błędów, takich jak errno(), strerror(), perror() itp. | |
Zawiera zestaw różnych stałych zależnych od platformy, związanych z wartościami zmiennoprzecinkowymi. Stałe te zostały zaproponowane przez ANSI C. Sprawiają, że programy są bardziej przenośne. Oto niektóre przykłady stałych zawartych w tym pliku nagłówkowym: e(wykładnik), b(podstawa/podstawa) itp. | |
Służy do wykonywania operacji matematycznych, takich jak sqrt(), log2(), pow() itp. | |
Służy do wykonywania funkcji obsługi sygnałów, takich jak Signal() i Raise(). | |
Służy do wykonywania standardowych funkcji argumentacyjnych, takich jak va_start() i va_arg(). Służy również do wskazania początku listę argumentów o zmiennej długości i pobranie argumentów odpowiednio z listy argumentów o zmiennej długości w programie. | |
Zawiera prototypy funkcji, które testują znaki pod kątem określonych właściwości, a także prototypy funkcji funkcje, których można użyć do konwersji wielkich liter na małe i odwrotnie. | |
Służy do wykonywania operacji wejścia i wyjścia za pomocą funkcji takich jak scanf() , printf() itp. | |
Zawiera standardowe funkcje narzędziowe, takie jak malloc(), realloc() itp. Zawiera prototypy funkcji umożliwiających omijanie zwykłej sekwencji wywołań i zwrotów funkcji. | |
Służy do wykonywania różnych funkcji związanych z manipulacją ciągami, np strlen() , strcmp() , strcpy() , size() itp. | |
Określa różne właściwości różnych typów zmiennych. Makra zdefiniowane w tym nagłówku ograniczają wartości różne typy zmiennych, takie jak char, int i long. Limity te określają, że zmienna nie może przechowywać żadnej wartości poza tymi limitami, na przykład znak bez znaku może przechowywać maksymalnie wartość 255. | |
Służy do wykonywania funkcji związanych z date() i czas() jak setdate() i getdate() . Służy także do modyfikowania daty systemowej i uzyskaj odpowiednio czas procesora. | |
Zawiera typowe definicje typów używane przez C do wykonywania obliczeń. | |
Zawiera prototypy funkcji i inne informacje umożliwiające modyfikację programu dla bieżącej lokalizacji, w której jest uruchomiony. Umożliwia systemowi komputerowemu obsługę różnych konwencji wyrażania danych, takich jak godziny, daty lub duże liczby na całym świecie. |
Przykład
Poniższy przykład ilustruje użycie niektórych powszechnie używanych plików nagłówkowych w języku 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;> }> |
kod abs-c
>
sprawdź wartość null w Javie
>Wyjście
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. Niestandardowe pliki nagłówkowe w C i ich zastosowania
Niestandardowe pliki nagłówkowe nie są częścią standardu ISO języka. Są to zazwyczaj wszystkie pliki nagłówkowe zdefiniowane przez programistów do celów takich jak zawieranie niestandardowych funkcji bibliotecznych itp. Są instalowane ręcznie przez użytkownika lub być może stanowią część kompilatora przez określonego dostawcę.
Istnieje wiele niestandardowych bibliotek dla języka C. Poniżej wymieniono niektóre powszechnie używane niestandardowe/zdefiniowane przez użytkownika pliki nagłówkowe:
Plik nagłówkowy | Opis |
---|---|
Zawiera kilka przydatnych funkcji konsoli. | |
Zawiera bibliotekę GNU GUI dla języka C. |
Przykład
Poniższy przykład ilustruje użycie niestandardowego pliku nagłówkowego 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;> }> |
>
>
Wyjście
Press any key to print message Hello! Geek>
Utwórz własny plik nagłówkowy w C
Zamiast pisać duży i złożony kod, możemy stworzyć własne pliki nagłówkowe i włączyć je do naszego programu, aby móc z nich korzystać w dowolnym momencie. Zwiększa funkcjonalność i czytelność kodu. Poniżej znajdują się kroki umożliwiające utworzenie własnego pliku nagłówkowego:
Krok 1: Napisz własny kod C i zapisz ten plik z rozszerzeniem .H rozszerzenie. Poniżej znajduje się ilustracja pliku nagłówkowego:
C
// Function to find the sum of two> // numbers passed> int> sumOfTwoNumbers(> int> a,> int> b)> {> > return> (a + b);> }> |
>
czym jest struktura w strukturze danych
>
Krok 2: Dołącz swój plik nagłówkowy z #włączać w programie C, jak pokazano poniżej:
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));> }> |
>
>
Wyjście
Sum is: 35>
W tym wiele plików nagłówkowych
W programie można używać różnych plików nagłówkowych. Kiedy plik nagłówkowy jest zawarty w programie dwukrotnie, kompilator dwukrotnie przetwarza zawartość tego pliku nagłówkowego. Prowadzi to do błędu w programie. Aby wyeliminować ten błąd, używane są warunkowe dyrektywy preprocesora.
Składnia
#ifndef HEADER_FILE_NAME #define HEADER_FILE_NAME the entire header file #endif>
Ta konstrukcja nazywa się opakowaniem #ifndef . Kiedy nagłówek zostanie ponownie dodany, warunek stanie się fałszywy, ponieważ NAZWA PLIKU NAGŁÓWKOWEGO definiuje. Preprocesor pominie całą zawartość pliku, a kompilator nie zobaczy jej dwukrotnie.
Czasami konieczne jest dołączenie kilku różnych plików nagłówkowych w zależności od wymagań programu. W tym celu stosuje się wiele warunków warunkowych.
Składnia
#if SYSTEM_ONE #include 'system1.h' #elif SYSTEM_TWO #include 'system2.h' #elif SYSTEM_THREE .... #endif>