Void 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
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
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
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.
Merci pour vos commentaires !
Demandez à l'IA
Demandez à l'IA
Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion
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
Void 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
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
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
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.
Merci pour vos commentaires !