Video: Hoe Maak je een Aangepast URL voor YouTube 2018? 2024
Nu multicompprojecten in C complexer worden, vindt u het eerste deel van elk broncodebestand langer en langer: meer prototypes, meer constanten en meer globale variabelen en structuren zijn vereist voor elke module. In plaats van uw code te belasten met overtolligheden, kunt u een headerbestand voor het project maken.
Een headerbestand bevat zo ongeveer alles wat u in een broncodebestand kunt plaatsen. Met name moet u items in het headerbestand plaatsen die anders in elke broncodemodule terecht zouden komen. Hier is een voorbeeld van een headerbestand:
HEADER FILE EX2403. H
# include # include / * prototypes * / void fillstructure (void); ongeldige drukstructuur (ongeldig); / * constants * / / * variabelen * / struct thing {char name [32]; int leeftijd;}; typedef struct thing human;
Het headerbestand dat wordt weergegeven in Header File ex2403. h begint met enkele include-richtlijnen, wat prima is; zolang die header-bestanden vereist zijn door elke module in het programma, kunt u ze specificeren in uw eigen header-bestand. Sommige programmeurs kiezen ervoor dit te doen; anderen doen niet.
Twee prototypen zijn gespecificeerd bij Lijnen 6 en 7. Nogmaals, een reden voor het hebben van een headerbestand is prototypen, vooral over meerdere modules.
Het headerbestand ex2403. h mist constanten, hoewel het plaatsen van deze items in een headerbestand heel gewoon is. Er is een opmerking bij regel 9 voor het geval het programma later constanten laat groeien.
Uiteindelijk wordt het structuurgegeven gedefinieerd op regel 13. Dan gebruikt regel 18 typedef zodat het woord human (in plaats van struct thing) in de code kan worden gebruikt.
Andere populaire items die in een headerbestand moeten worden opgenomen, zijn macro's. Dit zijn preprocessor-richtlijnen die ook kunnen helpen bij het vereenvoudigen van uw code.
Als u een lokaal headerbestand in uw code wilt gebruiken, geeft u dit op een regel op, net als bij elk ander headerbestand. Het grote verschil is dat dubbele aanhalingstekens worden gebruikt in plaats van punthaken. Bijvoorbeeld:
# include "ex2403. H"
De compiler zoekt naar de bestandsnaam van de koptekst in dubbele aanhalingstekens in de huidige map, samen met het broncodebestand (en). Als het bestand zich niet in die map bevindt, moet u een padnaam opgeven, zoals in
# include "headers / ex2403. H"
Project ex2403 main. c Broncode laat zien hoe het headerbestand in Header File ex2403. h wordt gebruikt.
PROJECT EX2403 HOOFD. C SOURCE CODE
# include "ex2403. H" menselijke persoon; int main () {fillstructure (); printstructure (); return 0;} void fillstructure (void) {printf ("Voer je naam in:"); fgets (persoon, naam, 31, stdin); printf ("Voer je leeftijd in:"); scanf ("% d", & persoon.age);} void printstructure (void) {printf ("You are% sn", persoon. naam); printf ("En u bent% d jaar oud. n", persoon. leeftijd);}
Regel 1 van de broncode getoond in Project ex2403 hoofd. c Broncode bevat het aangepaste headerbestand, ex2403. h. De getypte mens wordt dan gebruikt op lijn 3. Dat is alles! Er zijn geen andere verklaringen nodig in de broncode omdat ze zijn afgehandeld door de aangepaste koptekst.
Oefening 1 : Maak een nieuw project in Code:: Blocks. Maak een nieuw header-bestand, ex2403. h, voor het project, en kopieer de code van Header File ex2403. h in dat bestand. Kopieer de broncode van Project ex2403 main. c Broncode in het hoofdmenu. c bestand. Bouw en ren.
Oefening 2 : Splits de functies Fillstructure () en printstructure () uit van Project ex2403 . c Broncode zodat elke code in het eigen broncodebestand wordt weergegeven, invoer. c en output. c, respectievelijk. Bouw het programma met meerdere modules.