Einer benutzerdefinierten Header-Datei in C zu erstellen

Als Multi-Modul-Projekte in C komplexer werden, finden Sie den ersten Teil jeder Datei Quellcode immer länger: Weitere Prototypen, mehr Konstanten und mehrere globale Variablen und Strukturen sind für jedes Modul erforderlich. Anstatt belasten Sie Ihren Code mit Redundanzen, können Sie eine Header-Datei für das Projekt erstellen.

Eine Header-Datei enthält einfach alles können Sie eine Quellcodedatei setzen in. Insbesondere sollten Sie Elemente in der Header-Datei setzen, die sonst in jede Quellcodemodul gehen würde. Hier ist ein Beispiel Header-Datei:

Header-Datei EX2403.H

# include # include / * Prototypen * / void fillstructure (void) -Lücke printstructure (void) - / * Konstanten * // * Variablen * / struct Sache {char name [32] -int Alter -} - typedef struct Sache human-

Die Header-Datei in Header-Datei ex2403.h gezeigt beginnt mit einigen Richtlinien enthalten, die fein- ist, solange diese Header-Dateien von jedem Modul im Programm benötigt werden, können Sie sie in Ihrer eigenen Header-Datei angeben. Einige Programmierer wählen so- andere tun dies nicht tun.

Zwei Prototypen werden in den Zeilen angegebenen 6 und 7 Wieder ein Grund für eine Header-Datei, die ist zum Prototyp, insbesondere über mehrere Module.

Die Header-Datei ex2403.h fehlt Konstanten, obwohl diese Elemente in einer Header-Datei Platzierung durchaus üblich ist. Es gibt einen Kommentar an der Linie 9, falls die Programmkonstanten später wächst.

Schließlich wird die Struktur, was in Zeile 13 definiert dann 18 Zeile verwendet typedef, so dass das Wort Mensch (Statt struct Sache) kann in dem Code verwendet werden.

Andere beliebte Artikel in einer Header-Datei enthalten sind Makros. Dies sind Präprozessordirektiven, die auch Ihren Code vereinfachen helfen können.

Um einen lokalen Header-Datei in Ihrem Code zu verwenden, geben Sie es auf einer Linie, wie jede andere Header-Datei. Der große Unterschied ist, dass doppelte Anführungszeichen anstelle von spitzen Klammern verwendet werden. Beispielsweise:

#include "ex2403.h"

Der Compiler sucht nach dem Header Dateinamen in doppelte Anführungszeichen im aktuellen Verzeichnis, zusammen mit dem Quellcode-Datei (en). Wenn die Datei nicht in diesem Verzeichnis ist, müssen Sie einen Pfad angeben, wie in

#include "Kopf- / ex2403.h"

Projekt ex2403 main.c Source Code zeigt, wie die Header-Datei in Header-Datei ex2403.h verwendet wird.

PROJECT EX2403 MAIN.C QUELLCODE

#include "ex2403.h" Mensch-int main () {fillstructure () - printstructure () - Rückkehr 0-} void fillstructure (void) {printf ( "Geben Sie Ihren Namen:") -fgets (person.name, 31 , stdin) -printf ( "Geben Sie Ihr Alter:") -scanf ( "% d", person.age) -} void printstructure (void) {printf ( "Sie sind% s n", person.name) -printf ( "Und Sie sind% d Jahre alt. n", person.age) -}

Zeile 1 des Quellcodes im Projekt ex2403 gezeigt main.c Source Code enthält die benutzerdefinierte Header-Datei, ex2403.h. Der typedef Mensch wird dann verwendet, um Zeile 3. Das ist es! Keine weiteren Erklärungen sind im Quellcode notwendig, weil sie durch den benutzerdefinierten Header behandelt worden sind.

Übung 1: Erstellen Sie ein neues Projekt in Code :: Blocks. Erstellen Sie einen neuen Header-Datei, ex2403.h, für das Projekt, und kopieren Sie den Code aus Header-Datei ex2403.h in dieser Datei. Kopieren Sie den Quellcode von Project ex2403 main.c Source Code in die Datei main.c. Erstellen und ausführen.

Übung 2: Split aus den fillstructure () und printstructure () Funktionen von Project ex2403 main.c Source Code, so dass jeder wird in einem eigenen Quellcodedatei, input.c und output.c sind. Erstellen Sie das Multi-Modul-Programm.

Menü