#włączać to sposób na włączenie do programu standardowego lub zdefiniowanego przez użytkownika pliku i jest najczęściej zapisywany na początku dowolnego programu w języku C. Dyrektywa preprocesora #include jest odczytywana przez preprocesor i instruuje go, aby wstawił zawartość pliku nagłówkowego zdefiniowanego przez użytkownika lub systemowego do naszego programu C. Pliki te są importowane głównie z zewnętrznych plików nagłówkowych.
Proces importowania takich plików, które mogą być zdefiniowane przez system lub użytkownika, jest nazywany Dołączenie pliku . Ta dyrektywa preprocesora mówi kompilatorowi, aby umieścił plik w kodzie źródłowym programu.
Typy plików nagłówkowych
Istnieją dwa typy plików, które można dołączyć za pomocą #include:
1. Istniejące pliki nagłówkowe: Istniejące wcześniej pliki nagłówkowe są dostarczane w pakiecie z kompilatorem i znajdują się w standardowym katalogu plików systemowych. Ten plik zawiera deklaracje funkcji biblioteki standardowej C i definicje makr, które mają być współdzielone pomiędzy kilkoma plikami źródłowymi. Funkcje takie jak printf(), scanf(), cout, cin i różne inne funkcje wejścia-wyjścia lub inne standardowe funkcje są zawarte w różnych, wcześniej istniejących plikach nagłówkowych.
2. Pliki nagłówkowe zdefiniowane przez użytkownika: Pliki te przypominają pliki nagłówkowe, z tą różnicą, że są pisane i definiowane przez samego użytkownika. Dzięki temu użytkownik nie musi wielokrotnie pisać określonej funkcji.
Składnia #include w C
Istnieją dwie odmiany użycia #include w naszym programie C.
1. W tym używanie
Służy głównie do uzyskiwania dostępu istniejące wcześniej systemowe pliki nagłówkowe znajdujących się w standardowych katalogach systemowych.
#include>
Podczas importowania pliku za pomocą nawiasów kątowych() preprocesor używa z góry określonej ścieżki katalogu, aby uzyskać dostęp do pliku.
2. W tym używanie
Ten typ jest używany głównie do uzyskiwania dostępu do dowolnych plików nagłówkowych program użytkownika lub pliki zdefiniowane przez użytkownika.
#include 'user-defined_file'>
Używając podwójnych cudzysłowów ( ), preprocesor uzyskuje dostęp do bieżącego katalogu, w którym znajduje się źródłowy plik nagłówkowy, lub do standardowych katalogów systemowych.
Aby zaimportować plik nagłówkowy zdefiniowany przez użytkownika za pomocą #include, plik powinien znajdować się w ścieżce katalogu względem pliku źródłowego C, w przeciwnym razie preprocesor rozpocznie wyszukiwanie go w standardowym katalogu systemowym.
Aby dowiedzieć się więcej zobacz Różnica między #include i #include
Przykłady #include w C
Przykład 1
Poniższy kod przedstawia import nagłówka systemowego wejścia/wyjścia lub pliku standardowego.
C
sortuj listę tablic Java
// C program showing the header file including> // standard input-output header file> #include> int> main()> {> >// 'printf()' belongs to stdio.h> >printf>(>'hello world'>);> >return> 0;> }> |
>
>Wyjście
hello world>
Przykład 2
W poniższym przykładzie#include>dyrektywa pozwala nam używać funkcji matematycznych, takich jaksqrt>do obliczenia pierwiastka kwadratowego.
C
sortowanie bąbelkowe w Javie
// C program to calculate square root of a number using the> // math library functions> #include // Including math header for mathematical operations> #include> int> main()> {> >double> num = 14.0;> >double> Res =>sqrt>(num);> >printf>(>'Square root of %.2f is %.2f
'>, num, Res);> >return> 0;> }> |
>
>Wyjście
Square root of 14.00 is 3.74>
Przykład 3
Poniższy kod przedstawia tworzenie i import pliku zdefiniowanego przez użytkownika.
Tworzenie nagłówka zdefiniowanego przez użytkownika o nazwie proces.h.
C
// It is not recommended to put function definitions> // in a header file. Ideally there should be only> // function declarations. Purpose of this code is> // to only demonstrate working of header files.> void> add(>int> a,>int> b)> {> >printf>(>'Added value=%d
'>, a + b);> }> void> multiply(>int> a,>int> b)> {> >printf>(>'Multiplied value=%d
'>, a * b);> }> |
>
>
Ekta Kapoor aktor
Utworzenie głównego pliku, w którym będzie zawarty powyższy proces.h.
C
// C program to illustrate file inclusion> // used to import system header file> #include> // ' ' used to import user-defined file> #include 'process.h'> // main function> int> main()> {> >// add function defined in process.h> >add(10, 20);> >// multiply function defined in process.h> >multiply(10, 20);> >// printf defined in stdio.h> >printf>(>'Process completed'>);> >return> 0;> }> |
>
>
Wyjaśnienie
Dołączenie pliku Process.h do innego programu. Teraz, ponieważ musimy dołączyć stdio.h jako #include, aby móc w podobny sposób używać funkcji printf(), musimy także dołączyć plik nagłówkowy Process.h jako #include Process.h. Nakazuje preprocesorowi sprawdzenie bieżącego folderu lub standardowego folderu wszystkich plików nagłówkowych, jeśli nie zostaną znalezione w bieżącym folderze.
Jeżeli zamiast nawiasów kątowych zostaną użyte kompilator wyszuka plik nagłówkowy w standardowym folderze plików nagłówkowych. Jeśli używasz, musisz upewnić się, że utworzony plik nagłówkowy jest zapisany w tym samym folderze, w którym zapisany jest bieżący plik C korzystający z tego pliku nagłówkowego.
Wniosek
W programowaniu w C dyrektywa #include jest bardzo ważna, ponieważ umożliwia integrację plików zewnętrznych (plików nagłówkowych) z programem. Ta dyrektywa jest zawsze umieszczana na początku programu w C i jest poleceniem preprocesora, które mówi kompilatorowi, aby dołączył zawartość pliku określonego po dyrektywie #include. Można dołączyć dwa typy plików: istniejące wcześniej systemowe pliki nagłówkowe i pliki nagłówkowe zdefiniowane przez użytkownika. Ogólnie rzecz biorąc, ta dyrektywa pozwala nam pisać kod modułowy, organizować kod i łatwo ponownie wykorzystywać funkcje.