Header, 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
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:
main.c- dit hoofdbestand is waar alle functies worden aangeroepen;func.h- hierin wordt de functieprototype opgeslagen;func.c- de implementatie van onze functie voor het berekenen van de laad-/ontlaadtijd van de condensator bevindt zich hier.
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; }
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"
Bedankt voor je feedback!
Vraag AI
Vraag AI
Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.
Awesome!
Completion rate improved to 2.63
Header, 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
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:
main.c- dit hoofdbestand is waar alle functies worden aangeroepen;func.h- hierin wordt de functieprototype opgeslagen;func.c- de implementatie van onze functie voor het berekenen van de laad-/ontlaadtijd van de condensator bevindt zich hier.
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; }
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"
Bedankt voor je feedback!