Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Huvudfil, Prototyper | Funktioner
C-Grunder

bookHuvudfil, Prototyper

Under hela denna kurs har vi konsekvent använt filen stdio.h. Denna fil fungerar som standard header för in- och utmatning. I den finns prototypen för funktionen printf(), en funktion vi har använt i varje lektion.

Main.c

Main.c

copy
12345678
//#include <stdio.h> int main() { printf("Using `printf()` without `stdio.h`"); return 0; }

Om du utesluter filen stdio.h kommer funktionen printf() att sluta fungera. Att anropa denna funktion utan headern kommer att resultera i ett fel.

Förståelse av headerfiler

Headerfiler som stdio.h innehåller deklarationer av variabler, arrayer och funktionsprototyper. De modulariserar din projektkod och gör det möjligt att bifoga komponenter vid behov. Detta tillvägagångssätt effektiviserar dina projekt.

Funktionsprototyper

En funktionsprototyp är i grunden en funktionsdeklaration utan dess faktiska implementation. Tänk på en prototyp som en "förhandsinformation" till kompilatorn, som signalerar att din funktion existerar.

function_type function_name(arguments);

Den liknar en vanlig funktion men utan detaljerna. Observera det avslutande semikolonet (;). Hur hanterar vi nu en funktionsprototyp i en dedikerad headerfil?

Flerfilsprojekt

Hittills har vi skrivit våra variabler och funktioner i en enda fil, tillsammans med main-funktionen. Men inom professionell utveckling är detta inte standard. Låt oss utforma en funktion för att uppskatta laddnings-/urladdningstiden för en kondensator baserat på dess kapacitans och resistans.

Projektet kommer att delas upp i tre filer:

  1. main.c - denna primära fil kommer att vara där alla funktioner anropas;
  2. func.h - denna fil kommer att lagra funktionsprototypen;
  3. func.c - implementeringen av vår funktion för beräkning av kondensatorns laddnings-/urladdningstid kommer att finnas här.
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
Notering

%.2f anger att resultatet ska visas med två decimaler.

Att köra detta program resulterar i:

"Charge/discharge will be 7.50 ms"
question mark

Vad gör en funktionsprototyp i C?

Select the correct answer

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 5. Kapitel 5

Fråga AI

expand

Fråga AI

ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

Suggested prompts:

What does the function to calculate capacitor charge/discharge time look like?

Can you explain how to include and use custom header files in a C project?

Why is it important to separate code into multiple files in C projects?

Awesome!

Completion rate improved to 2.63

bookHuvudfil, Prototyper

Svep för att visa menyn

Under hela denna kurs har vi konsekvent använt filen stdio.h. Denna fil fungerar som standard header för in- och utmatning. I den finns prototypen för funktionen printf(), en funktion vi har använt i varje lektion.

Main.c

Main.c

copy
12345678
//#include <stdio.h> int main() { printf("Using `printf()` without `stdio.h`"); return 0; }

Om du utesluter filen stdio.h kommer funktionen printf() att sluta fungera. Att anropa denna funktion utan headern kommer att resultera i ett fel.

Förståelse av headerfiler

Headerfiler som stdio.h innehåller deklarationer av variabler, arrayer och funktionsprototyper. De modulariserar din projektkod och gör det möjligt att bifoga komponenter vid behov. Detta tillvägagångssätt effektiviserar dina projekt.

Funktionsprototyper

En funktionsprototyp är i grunden en funktionsdeklaration utan dess faktiska implementation. Tänk på en prototyp som en "förhandsinformation" till kompilatorn, som signalerar att din funktion existerar.

function_type function_name(arguments);

Den liknar en vanlig funktion men utan detaljerna. Observera det avslutande semikolonet (;). Hur hanterar vi nu en funktionsprototyp i en dedikerad headerfil?

Flerfilsprojekt

Hittills har vi skrivit våra variabler och funktioner i en enda fil, tillsammans med main-funktionen. Men inom professionell utveckling är detta inte standard. Låt oss utforma en funktion för att uppskatta laddnings-/urladdningstiden för en kondensator baserat på dess kapacitans och resistans.

Projektet kommer att delas upp i tre filer:

  1. main.c - denna primära fil kommer att vara där alla funktioner anropas;
  2. func.h - denna fil kommer att lagra funktionsprototypen;
  3. func.c - implementeringen av vår funktion för beräkning av kondensatorns laddnings-/urladdningstid kommer att finnas här.
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
Notering

%.2f anger att resultatet ska visas med två decimaler.

Att köra detta program resulterar i:

"Charge/discharge will be 7.50 ms"
question mark

Vad gör en funktionsprototyp i C?

Select the correct answer

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 5. Kapitel 5
some-alt