Header, Prototyper
Gennem hele dette kursus har vi konsekvent anvendt filen stdio.h. Denne fil fungerer som standard input/output-header. Den indeholder prototypen for funktionen printf(), en funktion vi har brugt i hver lektion.
Main.c
12345678//#include <stdio.h> int main() { printf("Using `printf()` without `stdio.h`"); return 0; }
Hvis du udelader filen stdio.h, vil funktionen printf() ikke længere fungere. Kald af denne funktion uden headeren vil resultere i en fejl.
Forståelse af header-filer
Header-filer som stdio.h indeholder deklarationer af variabler, arrays og funktionsprototyper. De modulariserer projektkoden, hvilket gør det muligt at tilføje komponenter efter behov. Denne tilgang effektiviserer dine projekter.
Funktionsprototyper
En funktionsprototype er grundlæggende en funktionsdeklaration uden dens faktiske implementering. Betragt en prototype som en "forhåndsmeddelelse" til compileren, der signalerer eksistensen af din funktion.
function_type function_name(arguments);
Den ligner en standardfunktion, men uden detaljerne. Bemærk det afsluttende semikolon (;). Hvordan håndteres en funktionsprototype i en dedikeret header-fil?
Projekter med flere filer
Indtil nu har vi skrevet vores variabler og funktioner i én fil, sammen med main-funktionen. I professionel udvikling er dette dog ikke normen. Lad os udarbejde en funktion til at estimere opladnings-/afladningstiden for en kondensator baseret på dens kapacitans og modstand.
Projektet opdeles i tre filer:
main.c- denne primære fil vil være, hvor alle funktioner kaldes;func.h- denne fil gemmer funktionsprototypen;func.c- implementeringen af vores funktion til beregning af kondensatorens opladnings/afladningstid vil befinde sig her.
main.c
function.h
function.c
12345678910#include "func.h" int main() { R = 10; C = 150; printf("Charge/discharge will be %.2f ms\n", chrg_dchrg(R,C)); return 0; }
%.2f angiver, at resultatet skal vises med to decimaler.
Når dette program køres, vil resultatet være:
"Charge/discharge will be 7.50 ms"
Tak for dine kommentarer!
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat
Awesome!
Completion rate improved to 2.63
Header, Prototyper
Stryg for at vise menuen
Gennem hele dette kursus har vi konsekvent anvendt filen stdio.h. Denne fil fungerer som standard input/output-header. Den indeholder prototypen for funktionen printf(), en funktion vi har brugt i hver lektion.
Main.c
12345678//#include <stdio.h> int main() { printf("Using `printf()` without `stdio.h`"); return 0; }
Hvis du udelader filen stdio.h, vil funktionen printf() ikke længere fungere. Kald af denne funktion uden headeren vil resultere i en fejl.
Forståelse af header-filer
Header-filer som stdio.h indeholder deklarationer af variabler, arrays og funktionsprototyper. De modulariserer projektkoden, hvilket gør det muligt at tilføje komponenter efter behov. Denne tilgang effektiviserer dine projekter.
Funktionsprototyper
En funktionsprototype er grundlæggende en funktionsdeklaration uden dens faktiske implementering. Betragt en prototype som en "forhåndsmeddelelse" til compileren, der signalerer eksistensen af din funktion.
function_type function_name(arguments);
Den ligner en standardfunktion, men uden detaljerne. Bemærk det afsluttende semikolon (;). Hvordan håndteres en funktionsprototype i en dedikeret header-fil?
Projekter med flere filer
Indtil nu har vi skrevet vores variabler og funktioner i én fil, sammen med main-funktionen. I professionel udvikling er dette dog ikke normen. Lad os udarbejde en funktion til at estimere opladnings-/afladningstiden for en kondensator baseret på dens kapacitans og modstand.
Projektet opdeles i tre filer:
main.c- denne primære fil vil være, hvor alle funktioner kaldes;func.h- denne fil gemmer funktionsprototypen;func.c- implementeringen af vores funktion til beregning af kondensatorens opladnings/afladningstid vil befinde sig her.
main.c
function.h
function.c
12345678910#include "func.h" int main() { R = 10; C = 150; printf("Charge/discharge will be %.2f ms\n", chrg_dchrg(R,C)); return 0; }
%.2f angiver, at resultatet skal vises med to decimaler.
Når dette program køres, vil resultatet være:
"Charge/discharge will be 7.50 ms"
Tak for dine kommentarer!