#include in C
#enthalten ist eine Möglichkeit, eine Standard- oder benutzerdefinierte Datei in das Programm einzubinden und wird meist am Anfang eines C-Programms geschrieben. Die Präprozessoranweisung #include wird vom Präprozessor gelesen und weist ihn an, den Inhalt einer benutzerdefinierten oder System-Header-Datei in unser C-Programm einzufügen. Diese Dateien werden hauptsächlich aus externen Header-Dateien importiert.
Der Vorgang des Importierens solcher Dateien, die systemdefiniert oder benutzerdefiniert sein können, wird als bezeichnet Dateieinbindung . Diese Präprozessoranweisung weist den Compiler an, eine Datei in das Quellcodeprogramm aufzunehmen.
Arten von Header-Dateien
Es gibt zwei Arten von Dateien, die mit #include eingebunden werden können:
1. Vorhandene Header-Dateien: Die bereits vorhandenen Header-Dateien werden mit dem Compiler gebündelt und befinden sich im Standard-Systemdateiverzeichnis. Diese Datei enthält Funktionsdeklarationen und Makrodefinitionen der C-Standardbibliothek, die von mehreren Quelldateien gemeinsam genutzt werden können. Funktionen wie printf(), scanf(), cout, cin und verschiedene andere Eingabe-Ausgabe- oder andere Standardfunktionen sind in verschiedenen bereits vorhandenen Header-Dateien enthalten.
2. Benutzerdefinierte Header-Dateien: Diese Dateien ähneln den Header-Dateien, mit der Ausnahme, dass sie vom Benutzer selbst geschrieben und definiert werden. Dies erspart dem Benutzer das mehrfache Schreiben einer bestimmten Funktion.
Syntax von #include in C
Es gibt zwei Varianten, wie wir #include in unserem C-Programm verwenden können.
1. Einschließlich der Verwendung
Es dient hauptsächlich dem Zugriff bereits vorhandene System-Header-Dateien befindet sich in den Standard-Systemverzeichnissen.
#include
Beim Importieren einer Datei mit eckigen Klammern() verwendet der Präprozessor einen vorgegebenen Verzeichnispfad, um auf die Datei zuzugreifen.
2. Einschließlich der Verwendung
Dieser Typ wird hauptsächlich verwendet, um auf Header-Dateien zuzugreifen Benutzerprogramme oder benutzerdefinierte Dateien.
#include 'user-defined_file'
Bei Verwendung der doppelten Anführungszeichen( ) greift der Präprozessor auf das aktuelle Verzeichnis zu, in dem sich die Quell-Headerdatei befindet, oder auf die Standardsystemverzeichnisse.
Um die benutzerdefinierte Header-Datei mit #include zu importieren, sollte sich die Datei in einem Verzeichnispfad relativ zu Ihrer C-Quelldatei befinden. Andernfalls beginnt der Präprozessor mit der Suche im Standardsystemverzeichnis.
Weitere Informationen finden Sie unter Unterschied zwischen #include und #include
Beispiele für #include in C
Beispiel 1
Der folgende Code zeigt den Import eines System-E/A-Headers oder einer Standarddatei.
C
// 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;> }> |
Ausgabe
hello world
Beispiel 2
Im folgenden Beispiel ist die #include> Mit der Direktive können wir mathematische Funktionen wie verwenden sqrt> zur Berechnung der Quadratwurzel.
C
// 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;> }> |
Ausgabe
Square root of 14.00 is 3.74
Beispiel 3
Der folgende Code zeigt die Erstellung und den Import einer benutzerdefinierten Datei.
Erstellen eines benutzerdefinierten Headers mit dem Namen „process.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);> }> |
Erstellen der Hauptdatei, in die die obige Datei „process.h“ eingefügt wird.
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;> }> |
Erläuterung
Einbinden der Datei „process.h“ in ein anderes Programm. Da wir nun stdio.h als #include einbinden müssen, um die printf()-Funktion auf ähnliche Weise nutzen zu können, müssen wir auch die Header-Datei „process.h“ als #include „process.h“ einbinden. Das weist den Präprozessor an, im aktuellen Ordner oder im Standardordner aller Header-Dateien nachzuschauen, falls diese nicht im aktuellen Ordner gefunden werden.
Wenn anstelle von spitzen Klammern verwendet wird, sucht der Compiler im Standardordner der Header-Dateien nach der Header-Datei. Wenn Sie verwenden, müssen Sie sicherstellen, dass die erstellte Header-Datei in demselben Ordner gespeichert wird, in dem die aktuelle C-Datei, die diese Header-Datei verwendet, gespeichert wird.
Abschluss
In der C-Programmierung ist die #include-Direktive sehr wichtig, um beliebige externe Dateien (Header-Dateien) in ein Programm zu integrieren. Diese Direktive steht immer am Anfang eines C-Programms und ist ein Präprozessorbefehl, der den Compiler anweist, den Inhalt der nach der #include-Direktive angegebenen Datei einzuschließen. Es können zwei Arten von Dateien eingebunden werden: bereits vorhandene System-Header-Dateien und benutzerdefinierte Header-Dateien. Insgesamt ermöglicht uns diese Direktive, einen modularen Code zu schreiben, den Code zu organisieren und Funktionen einfach wiederzuverwenden.