Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Header, Prototyper | Funktioner
C-Grundlæggende

bookHeader, 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

Main.c

copy
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:

  1. main.c - denne primære fil vil være, hvor alle funktioner kaldes;
  2. func.h - denne fil gemmer funktionsprototypen;
  3. func.c - implementeringen af vores funktion til beregning af kondensatorens opladnings/afladningstid vil befinde sig her.
main.c

main.c

function.h

function.h

function.c

function.c

copy
12345678910
#include "func.h" int main() { R = 10; C = 150; printf("Charge/discharge will be %.2f ms\n", chrg_dchrg(R,C)); return 0; }
Note
Bemærk

%.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"
question mark

Hvad gør en funktionsprototype i C?

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 5. Kapitel 5

Spørg AI

expand

Spørg AI

ChatGPT

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

bookHeader, 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

Main.c

copy
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:

  1. main.c - denne primære fil vil være, hvor alle funktioner kaldes;
  2. func.h - denne fil gemmer funktionsprototypen;
  3. func.c - implementeringen af vores funktion til beregning af kondensatorens opladnings/afladningstid vil befinde sig her.
main.c

main.c

function.h

function.h

function.c

function.c

copy
12345678910
#include "func.h" int main() { R = 10; C = 150; printf("Charge/discharge will be %.2f ms\n", chrg_dchrg(R,C)); return 0; }
Note
Bemærk

%.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"
question mark

Hvad gør en funktionsprototype i C?

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 5. Kapitel 5
some-alt