Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Header, Prototypes | Functies
C-Basis

bookHeader, Prototypes

Gedurende deze cursus hebben we consequent gebruikgemaakt van het bestand stdio.h. Dit bestand fungeert als de standaard header voor invoer/uitvoer. Hierin bevindt zich het prototype van de functie printf(), een functie die we in elke les hebben gebruikt.

Main.c

Main.c

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

Als je het bestand stdio.h weglaat, zal de functie printf() niet meer werken. Het aanroepen van deze functie zonder de header zal een foutmelding opleveren.

Inzicht in headerbestanden

Headerbestanden zoals stdio.h bevatten declaraties van variabelen, arrays en functieprototypes. Ze modulariseren je projectcode, waardoor je componenten naar behoefte kunt toevoegen. Deze aanpak vereenvoudigt je projecten.

Functieprototypes

Een functieprototype is in wezen een functiedeclaratie zonder de daadwerkelijke implementatie. Zie een prototype als een "voorafmelding" aan de compiler, waarmee het bestaan van je functie wordt aangegeven.

function_type function_name(arguments);

Het lijkt op een standaardfunctie, maar dan zonder de details. Let op de afsluitende puntkomma (;). Hoe verwerken we nu een functieprototype in een apart headerbestand?

Projecten met meerdere bestanden

Tot nu toe hebben we onze variabelen en functies in één bestand geschreven, direct naast de main-functie. In professionele ontwikkeling is dit echter niet gebruikelijk. Stel een functie op om de laad-/ontlaadtijd van een condensator te schatten op basis van zijn capaciteit en weerstand.

Het project wordt opgedeeld in drie bestanden:

  1. main.c - dit hoofdbestand is waar alle functies worden aangeroepen;
  2. func.h - hierin wordt de functieprototype opgeslagen;
  3. func.c - de implementatie van onze functie voor het berekenen van de laad-/ontlaadtijd van de condensator bevindt zich hier.
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
Opmerking

De %.2f geeft aan dat het resultaat met twee decimalen moet worden weergegeven.

Het uitvoeren van dit programma resulteert in:

"Charge/discharge will be 7.50 ms"
question mark

Wat doet een functieprototype in C?

Select the correct answer

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 5. Hoofdstuk 5

Vraag AI

expand

Vraag AI

ChatGPT

Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.

Awesome!

Completion rate improved to 2.63

bookHeader, Prototypes

Veeg om het menu te tonen

Gedurende deze cursus hebben we consequent gebruikgemaakt van het bestand stdio.h. Dit bestand fungeert als de standaard header voor invoer/uitvoer. Hierin bevindt zich het prototype van de functie printf(), een functie die we in elke les hebben gebruikt.

Main.c

Main.c

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

Als je het bestand stdio.h weglaat, zal de functie printf() niet meer werken. Het aanroepen van deze functie zonder de header zal een foutmelding opleveren.

Inzicht in headerbestanden

Headerbestanden zoals stdio.h bevatten declaraties van variabelen, arrays en functieprototypes. Ze modulariseren je projectcode, waardoor je componenten naar behoefte kunt toevoegen. Deze aanpak vereenvoudigt je projecten.

Functieprototypes

Een functieprototype is in wezen een functiedeclaratie zonder de daadwerkelijke implementatie. Zie een prototype als een "voorafmelding" aan de compiler, waarmee het bestaan van je functie wordt aangegeven.

function_type function_name(arguments);

Het lijkt op een standaardfunctie, maar dan zonder de details. Let op de afsluitende puntkomma (;). Hoe verwerken we nu een functieprototype in een apart headerbestand?

Projecten met meerdere bestanden

Tot nu toe hebben we onze variabelen en functies in één bestand geschreven, direct naast de main-functie. In professionele ontwikkeling is dit echter niet gebruikelijk. Stel een functie op om de laad-/ontlaadtijd van een condensator te schatten op basis van zijn capaciteit en weerstand.

Het project wordt opgedeeld in drie bestanden:

  1. main.c - dit hoofdbestand is waar alle functies worden aangeroepen;
  2. func.h - hierin wordt de functieprototype opgeslagen;
  3. func.c - de implementatie van onze functie voor het berekenen van de laad-/ontlaadtijd van de condensator bevindt zich hier.
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
Opmerking

De %.2f geeft aan dat het resultaat met twee decimalen moet worden weergegeven.

Het uitvoeren van dit programma resulteert in:

"Charge/discharge will be 7.50 ms"
question mark

Wat doet een functieprototype in C?

Select the correct answer

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 5. Hoofdstuk 5
some-alt