Video: Week 4, continued 2025
Da flere modulprojekter i C vokser mere komplekse, finder du den første del af hver kildekodefil, der vokser længere og længere: Flere prototyper, flere konstanter og flere globale variabler og strukturer er påkrævet for hvert modul. I stedet for at belaste din kode med afskedigelser, kan du oprette en headerfil til projektet.
En headerfil indeholder næsten alt, hvad du kan indsætte i en kildekodefil. Specielt skal du lægge emner i headerfilen, der ellers ville gå ind i hvert kildekode modul. Her er en sample header-fil:
HEADER FILE EX2403. H
#include # include / prototypes * / void fill structure (void); ugyldig printstruktur (tomrum); / * konstanter * / / * variabler * / struct ting {char navn [32]; int alder;}; typedef struct ting menneskelige;
Overskriftsfilen vist i headerfil ex2403. h starter med nogle omfatter direktiver, hvilket er fint; så længe som headerfiler kræves af hvert modul i programmet, kan du angive dem i din egen headerfil. Nogle programmører vælger at gøre det; andre gør det ikke.
To prototyper er angivet i linjerne 6 og 7. Endnu en grund til at have en headerfil er at prototype, især på tværs af flere moduler.
Overskriftsfilen ex2403. h mangler konstanter, men det er ret almindeligt at placere disse emner i en header-fil. Der er en kommentar på Linje 9, hvis programmet vokser konstanter senere.
Endelig er strukturens ting defineret på linje 13. Derefter bruger linje 18 typedef, så ordet human (i stedet for struct ting) kan bruges i koden.
Andre populære elementer, der skal medtages i en headerfil, er makroer. Disse er præprocessor direktiver, der også kan hjælpe med at forenkle din kode.
Hvis du vil bruge en lokal headerfil i din kode, skal du angive den på en linje, ligesom enhver anden headerfil. Den store forskel er, at dobbelt citater bruges i stedet for vinkelbeslag. For eksempel:
#include "ex2403. H"
Kompilatoren søger efter overskriftsfilnavnet i dobbelt citater i den aktuelle mappe sammen med kildekoden filerne. Hvis filen ikke er i den pågældende mappe, skal du angive et stinavn, som i
#include "headers / ex2403. H"
Projekt ex2403 main. c Kildekode viser hvordan overskriftsfilen i headerfil ex2403. h anvendes.
PROJEKT EX2403 HOVED. C KILDE KODE
#include "ex2403. H" human person; int main () {fill structure (); printstructure (); return 0;} void fill structure (void) {printf ("Indtast dit navn:"); fgets (person. navn, 31, stdin); printf ("Indtast din alder:"); scanf ("% d", og person.alder);} void printstructure (void) {printf ("Du er% sn", person. navn); printf ("Og du er% d år gammel. n", person. alder);}
Linje 1 af kildekoden vist i Project ex2403 main. c Kildekode indeholder den brugerdefinerede overskriftsfil, ex2403. h. Typedef-mennesket bruges derefter på linje 3. Det er det! Ingen andre erklæringer er nødvendige i kildekoden, fordi de er blevet håndteret af den brugerdefinerede overskrift.
Øvelse 1 : Opret et nyt projekt i kode:: Blokke. Opret en ny headerfil, ex2403. h, for projektet, og kopier koden fra headerfil ex2403. h til den fil. Kopier kildekoden fra Project ex2403 main. c Kildekode i hovedlisten. c-fil. Byg og kør.
Øvelse 2 : Opdel strukturerne () og printstructure () fra Project ex2403 main. c Kildekode, så hver vises i sin egen kildekodefil, input. c og output. c henholdsvis. Byg multi-modul programmet.