Najlepszy samouczek Pliki nagłówkowe C W 2024 r. W tym samouczku możesz dowiedzieć się Pliki nagłówkowe składniowe referencyjny,Działania referencyjne header pliki,Tylko jeden plik header referencje,Warunkowe cytat,
Plik nagłówkowy.h jest rozszerzenie pliku, wtym deklaracji funkcji C i definicji makr, cytowany wspólne wielu plików źródłowych. Istnieją dwa typy nagłówków: programistów do pisania i pliki nagłówkowe kompilatora jest wyposażony w plikach nagłówkowych.
W programie, który chcesz użyć plików nagłówkowych, użyj C dyrektywę preprocesora#include odnieść się do niego.Widzieliśmy już plik nagłówkowystdio.h, który jest plik nagłówka, który pochodzi z kompilatora.
Plik Cytat nagłówek jest równoważna skopiować zawartość pliku nagłówka, ale nie będzie skopiować zawartość pliku nagłówka bezpośrednio w pliku źródłowym, ponieważ ten sposób jest podatny na błędy, zwłaszcza gdy program składa się z wielu plików źródłowych.
Prosta praktyka w C lub C ++ programu, zaleca się, aby wszystkie stałe, makra, zmienne globalne i prototypy funkcji systemu zapisane w pliku nagłówkowym w razie potrzeby w każdej chwili odwołać się do tych nagłówków.
Korzystanie z dyrektyw przeróbinclude może odwoływać użytkownika i nagłówka systemu plików.Posiada dwie następujące formy:
#include <file>
Formularz ten jest wykorzystywany do odniesienia nagłówku plików systemowych. Poszukuje pliku o nazwie pliku w standardowym wykazie katalogu systemowym. Podczas kompilacji kodu źródłowego, można -I opcje przed katalogu wstępnej listy.
#include "file"
Formularz ten służy do odwoływania się do plików nagłówkowych użytkownika. To wyszukuje plik o nazwie pliku w katalogu zawierającego bieżący plik. Podczas kompilacji kodu źródłowego, można -I opcje przed katalogu wstępnej listy.
#include Dyrektywa nakazuje preprocesora C przeglądać określony plik jako wejście.Wyjście preprocesor zawiera wyjście, które zostały wygenerowane, pliki wyjściowe tekstowych odwoływać generowane i instrukcji wyjścia#include.Na przykład, jeśli masz header.h pliku nagłówka, co następuje:
char *test (void);
A nagłówek pliku przy użyciu głównegoprogram.c programu,co następuje:
int x; #include "header.h" int main (void) { puts (test ()); }
Kompilator patrz poniższy tokenu strumienia:
int x; char *test (void); int main (void) { puts (test ()); }
Jeśli plik nagłówka jest wymieniony dwukrotnie, kompilator będzie przetwarzać zawartość dwóch plików nagłówkowych, które będą generować błąd. Aby temu zapobiec, standardową praktyką jest umieścić całą zawartość pliku w sprawie warunkowego sprawozdania kompilacji, co następuje:
#ifndef HEADER_FILE #define HEADER_FILE the entire header file file #endif
Struktura ta jest powszechnie określany otoki#ifndef.Po ponownym przedstawieniu plik nagłówka, warunek nie jest spełniony, ponieważ HEADER_FILE zdefiniowane. W tym przypadku, preprocesor pomija całą zawartość pliku, kompilator będzie go zignorować.
Czasami trzeba wybrać odniesienie do programu z kilku różnych plików nagłówkowych. Na przykład, trzeba określić parametry konfiguracyjne na różnych systemów operacyjnych. Można użyć szereg warunków do osiągnięcia tego celu, co następuje:
#if SYSTEM_1 # include "system_1.h" #elif SYSTEM_2 # include "system_2.h" #elif SYSTEM_3 pl. #endif
Jednakże, jeśli plik nagłówka więcej czasu, aby to zrobić jest bardzo niestosowne, użyj makra preprocesora nazwa zdefiniować nagłówki. To się nazywaodwołanie warunkowego.To nie jest używana jako nazwa pliku nagłówka#include bezpośredniego parametru, trzeba tylko użyć makra zastąpić nazwę:
#define SYSTEM_H "system_1.h" pl. #include SYSTEM_H
SYSTEM_H rozszerza, preprocesor wygląda system_1.h, jak pierwotnie napisany jako#include.SYSTEM_H Makefile może być określona przez opcję -D dla Ciebie.