Video: Programmieren in C Tutorial #18 - Eigene Header Datei erstellen 2024
Da Multi-Modul-Projekte in C immer komplexer werden, wächst der erste Teil jeder Quellcode-Datei immer länger: Mehr Prototypen, mehr Konstanten und mehr globale Variablen und Strukturen sind für jedes Modul erforderlich. Anstatt Ihren Code mit Redundanzen zu belasten, können Sie eine Header-Datei für das Projekt erstellen.
Eine Header-Datei enthält fast alles, was Sie in eine Quellcodedatei einfügen können. Insbesondere sollten Sie Elemente in die Headerdatei einfügen, die andernfalls in jedes Quellcodemodul eingefügt werden würden. Hier ist eine Beispiel-Header-Datei:
HEADER-DATEI EX2403. H
#include #include / * Prototypen * / Void-Füllstruktur (void); Leere Druckstruktur (Leere); / * Konstanten * / / * Variablen * / structding {charname [32]; int Alter;}; typedef struct Sache Mensch;
Die Headerdatei, die in der Headerdatei ex2403 angezeigt wird. h beginnt mit einigen include-Anweisungen, was in Ordnung ist; Solange diese Header-Dateien von jedem Modul im Programm benötigt werden, können Sie diese in Ihrer eigenen Header-Datei angeben. Einige Programmierer entscheiden sich dafür; andere nicht.
Zwei Prototypen sind in den Zeilen 6 und 7 angegeben. Ein Grund für die Verwendung einer Header-Datei ist wiederum der Prototyp, insbesondere über mehrere Module hinweg.
Die Header-Datei ex2403. h fehlt Konstanten, obwohl das Platzieren dieser Elemente in einer Header-Datei sehr verbreitet ist. Es gibt einen Kommentar in Zeile 9 für den Fall, dass das Programm später an Konstanz gewinnt.
Schließlich wird die Struktur in Zeile 13 definiert. Dann verwendet Zeile 18 typedef, so dass das Wort menschlich (anstelle von struct thing) im Code verwendet werden kann.
Andere beliebte Elemente, die in eine Header-Datei aufgenommen werden sollen, sind Makros. Dies sind Präprozessordirektiven, die auch zur Vereinfachung Ihres Codes beitragen können.
Um eine lokale Header-Datei in Ihrem Code zu verwenden, geben Sie sie wie jede andere Header-Datei in einer Zeile an. Der große Unterschied ist, dass doppelte Anführungszeichen anstelle von spitzen Klammern verwendet werden. Beispiel:
#include "ex2403. H"
Der Compiler sucht zusammen mit den Quellcodedateien im aktuellen Verzeichnis nach dem Headerdateinamen in doppelten Anführungszeichen. Wenn sich die Datei nicht in diesem Verzeichnis befindet, müssen Sie einen Pfadnamen angeben, wie in
#include "headers / ex2403. H"
Projekt ex2403 main. c Quellcode zeigt, wie die Header-Datei in Header-Datei ex2403 ist. h wird verwendet.
PROJEKT EX2403 HAUPTMENÜ. C QUELLE CODE
#include "ex2403. H" menschliche Person; int main () {Füllstruktur (); Druckstruktur (); return 0;} Leere Füllstruktur (void) {printf ("Geben Sie Ihren Namen ein:"); fgets (Person. Name, 31, stdin); printf ("Geben Sie Ihr Alter ein:"); scanf ("% d", & Person.Alter); void printstructure (void) {printf ("Du bist% sn", Person. Name); printf ("Und Sie sind% d Jahre alt. n", Person. Alter);}
Zeile 1 des Quellcodes, der im Projekt ex2403 main angezeigt wird. c Quellcode enthält die benutzerdefinierte Headerdatei ex2403. h. Der Typedef-Mensch wird dann in Zeile 3 verwendet. Das ist es! Es sind keine weiteren Deklarationen im Quellcode erforderlich, da sie vom benutzerdefinierten Header verarbeitet wurden.
Übung 1 : Erstellen Sie ein neues Projekt in Code:: Blöcke. Erstellen Sie eine neue Header-Datei, ex2403. h, für das Projekt, und kopieren Sie den Code aus der Header-Datei ex2403. h in diese Datei. Kopieren Sie den Quellcode aus dem Projekt ex2403 main. c Quellcode in die Hauptansicht. c Datei. Baue und laufe.
Übung 2 : Teilen Sie die Funktionen fillstructure () und printstructure () aus dem Projekt ex2403 main heraus. c Quellcode, so dass jeder in seiner eigenen Quellcodedatei erscheint, Eingabe. c und Ausgabe. c, beziehungsweise. Erstellen Sie das Multi-Modul-Programm.