Video: Week 4, continued 2024
Eftersom flera modulprojekt i C blir mer komplexa, hittar du den första delen av varje källkodfil som växer längre och längre: Fler prototyper, fler konstanter och fler globala variabler och strukturer krävs för varje modul. I stället för att belasta din kod med uppsägningar kan du skapa en headerfil för projektet.
En headerfil innehåller nästan allt du kan lägga in i en källkodsfil. Specifikt bör du placera objekt i headerfilen som annars skulle gå in i varje källkodsmodul. Här är en exempelhuvudfil:
HEADER FILE EX2403. H
#include # include / prototypes * / void fill structure (void); tomt skrivstruktur (tomrum); / * konstanter * / / * variabler * / struktur sak {karaktär [32]; int ålder;}; typedef struct sak mänsklig;
Huvudfilen som visas i Header File ex2403. h börjar med några inkluderar direktiv, vilket är bra; så länge som dessa huvudfiler krävs av varje modul i programmet, kan du ange dem i din egen headerfil. Vissa programmerare väljer att göra det; andra gör det inte.
Två prototyper anges i Linjerna 6 och 7. Återigen är en orsak till att ha en huvudfil att prototypa, speciellt över flera moduler.
Huvudfilen ex2403. h saknar konstanter, men att placera dessa objekt i en headerfil är ganska vanligt. Det finns en kommentar på Linje 9 om programmet växer konstanter senare.
Slutligen definieras strukturens sak vid linje 13. Sedan använder linje 18 typedef så att ordet mänskligt (i stället för struct thing) kan användas i koden.
Andra populära artiklar som ska inkluderas i en headerfil är makron. Dessa är förbehandlingsdirektiv som också kan bidra till att förenkla din kod.
Om du vill använda en lokal headerfil i din kod anger du den på en rad, precis som vilken annan headerfil som helst. Den stora skillnaden är att dubbla citat används istället för vinklar. Till exempel:
#include "ex2403. H"
Kompilatorn letar efter filnamnets huvudnamn i dubbla citat i den aktuella katalogen tillsammans med källkodsfilerna. Om filen inte finns i den katalogen måste du ange ett söknamn, som i
#include "headers / ex2403. H"
Projekt ex2403 main. c Källkod visar hur huvudfilen i Header File ex2403. h används.
PROJEKT EX2403 HUVUD. C KÄLLSKODE
# inkluderar "ex2403.h" mänsklig person; int huvud () {fillstruktur (); printstructure (); return 0;} void fillstructure (void) {printf ("Ange ditt namn:"); fgets (person. namn, 31, stdin); printf ("Ange din ålder:"); scanf ("% d", och person.ålder);} void printstructure (void) {printf ("Du är% sn", person. namn); printf ("Och du är% d år gammal. n", person. ålder);}
Linje 1 i källkoden som visas i Project ex2403 main. c Källkod innehåller den anpassade headerfilen, ex2403. h. Typedef-människa används sedan vid linje 3. Det är det! Inga andra deklarationer är nödvändiga i källkoden eftersom de har hanterats av den anpassade rubriken.
Övning 1 : Skapa ett nytt projekt i Kod:: Block. Skapa en ny headerfil, ex2403. h, för projektet och kopiera koden från Header File ex2403. h till den filen. Kopiera källkoden från Project ex2403 main. c Källkod i huvudmenyn. c-fil. Bygg och kör.
Övning 2 : Dela ut strukturstrukturerna () och printstructure () från Project ex2403 main. c Källkod så att varje visas i sin egen källkodsfil, skriv in. c och utgång. c respektive. Bygg flermodulprogrammet.