Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Void et Récursivité | Fonctions
Bases Du C

bookVoid et Récursivité

Le type de retour void en C

Dans le langage de programmation C, les fonctions déclarées avec un type de retour spécifique doivent comporter une instruction return, renvoyant une valeur correspondant à ce type. Cependant, il existe des situations où une fonction n'a pas besoin de retourner de valeur – par exemple, lorsqu'elle affiche simplement du texte à l'écran. Dans ces cas, la fonction doit être déclarée avec le type void.

Main.c

Main.c

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

Le mot-clé void indique qu'une fonction ne retourne aucune valeur, et il peut également être utilisé dans le contexte des pointeurs. Tenter de déclarer une variable de type void entraînera une erreur, car le compilateur ne saura pas quelle quantité de mémoire allouer.

Main.c

Main.c

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

Récursivité

Le langage C prend en charge la capacité pour une fonction de s'appeler elle-même, une technique appelée récursivité.

On peut imaginer la récursivité comme l'action d'étirer puis de relâcher un élastique. Elle est couramment utilisée dans les opérations mathématiques, telles que le calcul des factorielles.

Les factorielles sont souvent utilisées pour approximer les valeurs de fonctions en développant ces fonctions en séries de Taylor ou de Maclaurin.

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; }

Dans le contexte de la récursivité, la fonction continuera de s'appeler elle-même jusqu'à ce qu'elle atteigne la condition n == 0 || n == 1. Une fois cette condition remplie, les résultats des appels suivants à la fonction factorial() sont renvoyés dans l'ordre inverse, à la manière d'un accordéon que l'on replie. Lorsque l'étape 6 est atteinte, l'appel initial à factorial(3) retournera 6.

question mark

Imaginez une publicité où vous voyez une fille tenant une bouteille de lait. Sur cette bouteille, il y a une autre image de la même fille tenant une bouteille de lait, et sur cette petite bouteille, il y a encore une autre image de la fille, et ainsi de suite. Comment s'appelle ce concept ?

Select the correct answer

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 5. Chapitre 6

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

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 et Récursivité

Glissez pour afficher le menu

Le type de retour void en C

Dans le langage de programmation C, les fonctions déclarées avec un type de retour spécifique doivent comporter une instruction return, renvoyant une valeur correspondant à ce type. Cependant, il existe des situations où une fonction n'a pas besoin de retourner de valeur – par exemple, lorsqu'elle affiche simplement du texte à l'écran. Dans ces cas, la fonction doit être déclarée avec le type void.

Main.c

Main.c

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

Le mot-clé void indique qu'une fonction ne retourne aucune valeur, et il peut également être utilisé dans le contexte des pointeurs. Tenter de déclarer une variable de type void entraînera une erreur, car le compilateur ne saura pas quelle quantité de mémoire allouer.

Main.c

Main.c

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

Récursivité

Le langage C prend en charge la capacité pour une fonction de s'appeler elle-même, une technique appelée récursivité.

On peut imaginer la récursivité comme l'action d'étirer puis de relâcher un élastique. Elle est couramment utilisée dans les opérations mathématiques, telles que le calcul des factorielles.

Les factorielles sont souvent utilisées pour approximer les valeurs de fonctions en développant ces fonctions en séries de Taylor ou de Maclaurin.

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; }

Dans le contexte de la récursivité, la fonction continuera de s'appeler elle-même jusqu'à ce qu'elle atteigne la condition n == 0 || n == 1. Une fois cette condition remplie, les résultats des appels suivants à la fonction factorial() sont renvoyés dans l'ordre inverse, à la manière d'un accordéon que l'on replie. Lorsque l'étape 6 est atteinte, l'appel initial à factorial(3) retournera 6.

question mark

Imaginez une publicité où vous voyez une fille tenant une bouteille de lait. Sur cette bouteille, il y a une autre image de la même fille tenant une bouteille de lait, et sur cette petite bouteille, il y a encore une autre image de la fille, et ainsi de suite. Comment s'appelle ce concept ?

Select the correct answer

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 5. Chapitre 6
some-alt