Header-Dateien
Teil des Abschnitts Object Oriented Programming der C-Journey von Coddy — Lektion 1 von 61.
Wenn C-Programme größer werden, wird es unübersichtlich, den gesamten Code in einer einzigen Datei zu behalten. Header-Dateien bieten eine Möglichkeit, Ihren Code zu organisieren, indem sie trennen, was eine Funktion tut, von dem, wie sie es tut.
Eine Header-Datei (mit der Dateiendung .h) enthält Funktionsdeklarationen (auch Prototypen genannt). Diese Deklarationen teilen dem Compiler mit, dass eine Funktion existiert und welche Parameter sie entgegennimmt, ohne die tatsächliche Implementierung bereitzustellen.
// math_utils.h
int add(int a, int b);
Um Deklarationen aus einer Header-Datei zu verwenden, binden Sie diese mit der #include-Anweisung ein. Für Ihre eigenen Header verwenden Sie doppelte Anführungszeichen anstelle von spitzen Klammern:
// main.c
#include "math_utils.h"
int add(int a, int b) {
return a + b;
}
int main() {
int result = add(5, 3);
return 0;
}
Der entscheidende Unterschied: #include <stdio.h> durchsucht Systemverzeichnisse, während #include "math_utils.h" zuerst Ihren Projektordner durchsucht. Diese Trennung ermöglicht es mehreren Dateien, dieselben Funktionsdeklarationen gemeinsam zu nutzen, wodurch Ihre Codebasis einfacher zu navigieren und zu warten ist.
Spickzettel
Header-Dateien (mit der Endung .h) enthalten Funktionsdeklarationen, die dem Compiler mitteilen, dass eine Funktion existiert, ohne deren Implementierung bereitzustellen:
// math_utils.h
int add(int a, int b);
Binden Sie Ihre eigenen Header-Dateien mit doppelten Anführungszeichen ein:
// main.c
#include "math_utils.h"
int add(int a, int b) {
return a + b;
}
#include <stdio.h> durchsucht Systemverzeichnisse, während #include "math_utils.h" zuerst Ihren Projektordner durchsucht.
Probier es selbst
Diese Lektion enthält keine Programmieraufgabe.
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Object Oriented Programming
1Grundlagen der modularen Programmierung
Header-DateienInclude GuardsQuelldateienStatische FunktionenWiederholung: Modularer Taschenrechner4Kapselung
Konzept der Opaque PointersOpaque Structs definierenGetter und SetterValidierung in SetternRückblick: Die geheime Box2Objekte und Methoden
Structs als ObjekteDer 'Self'-PointerConst-CorrectnessPointer vs. WertHilfsmethodenZusammenfassung: Point Manager5Projekt: Einfaches Bankkonto
Projekt-SetupImplementierung des Kontos3Objekt-Lebenszyklus
Konstruktor-MusterDestruktor-MusterStack-InitialisierungTiefe KopieRückblick: String-Wrapper6Vererbung durch Komposition
Struct-EinbettungDie First-Member-RegelZugriff auf Parent-MemberUpcastingRückblick: Formenhierarchie9Projekt: Formen-Zeichner
ProjektübersichtKreis-Implementierung