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

bookVoid en Recursie

Het void-retourtype in C

In de programmeertaal C wordt van functies die met een specifiek retourtype zijn gedeclareerd verwacht dat ze een return-statement bevatten, waarmee een waarde van dat type wordt teruggegeven. Er zijn echter situaties waarin een functie niets hoeft terug te geven – bijvoorbeeld wanneer alleen tekst op het scherm wordt weergegeven. In dergelijke gevallen moet de functie worden gedeclareerd met het type void.

Main.c

Main.c

copy
12345678910
#include <stdio.h> void func() { printf("This function returns nothing\n"); } int main() { func(); return 0; }

Het sleutelwoord void geeft aan dat een functie geen waarde retourneert, en kan ook worden gebruikt in de context van pointers. Pogingen om een variabele van het type void te declareren resulteren in een fout, omdat de compiler dan niet weet hoeveel geheugen moet worden gereserveerd.

Main.c

Main.c

copy
1234567
#include <stdio.h> int main() { void variable; return 0; }

Recursie

C ondersteunt de mogelijkheid voor een functie om zichzelf aan te roepen, een techniek die bekend staat als recursie.

Stel recursie voor als het uitrekken en vervolgens loslaten van een elastiekje. Het wordt vaak gebruikt bij wiskundige bewerkingen, zoals het berekenen van faculteiten.

Faculteiten worden vaak toegepast bij het benaderen van functiewaarden door deze functies uit te breiden in Taylor- of Maclaurin-reeksen.

Main.c

Main.c

copy
1234567891011121314151617181920
#include <stdio.h> int factorial(int n) { // if n = 0 or 1, because 0! = 1 and 1! = 1 if (n == 0 || n == 1) return 1; // recursion case else return n * factorial(n - 1); } int main() { int n = 3; printf("factorial(%d) = %d\n", n, factorial(n)); return 0; }

In de context van recursie blijft de functie zichzelf aanroepen totdat aan de voorwaarde n == 0 || n == 1 is voldaan. Zodra deze voorwaarde is bereikt, worden de resultaten van de daaropvolgende aanroepen van de functie factorial() in omgekeerde volgorde teruggegeven, vergelijkbaar met het dichtvouwen van een accordeon. Tegen de tijd dat stap 6 is bereikt, zal de initiële aanroep van factorial(3) de waarde 6 retourneren.

question mark

Stel je een advertentie voor waarin je een meisje ziet met een fles melk. Op deze fles staat opnieuw een afbeelding van hetzelfde meisje met een fles melk, en op die kleinere fles staat weer een afbeelding van het meisje, enzovoort. Hoe heet dit concept?

Select the correct answer

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 5. Hoofdstuk 6

Vraag AI

expand

Vraag AI

ChatGPT

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

Suggested prompts:

Can you explain more about how recursion works in C?

What are some common mistakes to avoid when using recursion?

Can you give an example of a recursive function in C?

Awesome!

Completion rate improved to 2.63

bookVoid en Recursie

Veeg om het menu te tonen

Het void-retourtype in C

In de programmeertaal C wordt van functies die met een specifiek retourtype zijn gedeclareerd verwacht dat ze een return-statement bevatten, waarmee een waarde van dat type wordt teruggegeven. Er zijn echter situaties waarin een functie niets hoeft terug te geven – bijvoorbeeld wanneer alleen tekst op het scherm wordt weergegeven. In dergelijke gevallen moet de functie worden gedeclareerd met het type void.

Main.c

Main.c

copy
12345678910
#include <stdio.h> void func() { printf("This function returns nothing\n"); } int main() { func(); return 0; }

Het sleutelwoord void geeft aan dat een functie geen waarde retourneert, en kan ook worden gebruikt in de context van pointers. Pogingen om een variabele van het type void te declareren resulteren in een fout, omdat de compiler dan niet weet hoeveel geheugen moet worden gereserveerd.

Main.c

Main.c

copy
1234567
#include <stdio.h> int main() { void variable; return 0; }

Recursie

C ondersteunt de mogelijkheid voor een functie om zichzelf aan te roepen, een techniek die bekend staat als recursie.

Stel recursie voor als het uitrekken en vervolgens loslaten van een elastiekje. Het wordt vaak gebruikt bij wiskundige bewerkingen, zoals het berekenen van faculteiten.

Faculteiten worden vaak toegepast bij het benaderen van functiewaarden door deze functies uit te breiden in Taylor- of Maclaurin-reeksen.

Main.c

Main.c

copy
1234567891011121314151617181920
#include <stdio.h> int factorial(int n) { // if n = 0 or 1, because 0! = 1 and 1! = 1 if (n == 0 || n == 1) return 1; // recursion case else return n * factorial(n - 1); } int main() { int n = 3; printf("factorial(%d) = %d\n", n, factorial(n)); return 0; }

In de context van recursie blijft de functie zichzelf aanroepen totdat aan de voorwaarde n == 0 || n == 1 is voldaan. Zodra deze voorwaarde is bereikt, worden de resultaten van de daaropvolgende aanroepen van de functie factorial() in omgekeerde volgorde teruggegeven, vergelijkbaar met het dichtvouwen van een accordeon. Tegen de tijd dat stap 6 is bereikt, zal de initiële aanroep van factorial(3) de waarde 6 retourneren.

question mark

Stel je een advertentie voor waarin je een meisje ziet met een fles melk. Op deze fles staat opnieuw een afbeelding van hetzelfde meisje met een fles melk, en op die kleinere fles staat weer een afbeelding van het meisje, enzovoort. Hoe heet dit concept?

Select the correct answer

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 5. Hoofdstuk 6
some-alt