Void e Ricorsione
Il tipo di ritorno void in C
Nel linguaggio di programmazione C, le funzioni dichiarate con un tipo di ritorno specifico devono includere un return statement, restituendo un valore corrispondente a quel tipo. Tuttavia, esistono situazioni in cui una funzione non necessita di restituire alcun valore – ad esempio, quando si limita a visualizzare del testo sullo schermo. In questi casi, la funzione deve essere dichiarata con il tipo void.
Main.c
12345678910#include <stdio.h> void func() { printf("This function returns nothing\n"); } int main() { func(); return 0; }
La parola chiave void specifica che una funzione non restituisce alcun valore e può essere utilizzata anche nel contesto dei puntatori. Tentare di dichiarare una variabile di tipo void genera un errore, poiché il compilatore non saprebbe quanta memoria allocare.
Main.c
1234567#include <stdio.h> int main() { void variable; return 0; }
Ricorsione
Il C supporta la possibilità che una funzione richiami sé stessa, una tecnica nota come ricorsione.
Si può immaginare la ricorsione come l'azione di allungare e poi rilasciare un elastico. È comunemente utilizzata nelle operazioni matematiche, come il calcolo dei fattoriali.
I fattoriali sono spesso impiegati nell'approssimazione dei valori delle funzioni tramite l'espansione di queste ultime in serie di Taylor o 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; }
Nel contesto della ricorsione, la funzione continuerà a chiamare sé stessa fino a quando non soddisfa la condizione n == 0 || n == 1. Una volta che questa condizione è soddisfatta, i risultati delle successive chiamate alla funzione factorial() vengono restituiti in ordine inverso, simile al piegarsi di una fisarmonica. Al raggiungimento del passo 6, la chiamata iniziale a factorial(3) restituirà 6.
Grazie per i tuoi commenti!
Chieda ad AI
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione
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 e Ricorsione
Scorri per mostrare il menu
Il tipo di ritorno void in C
Nel linguaggio di programmazione C, le funzioni dichiarate con un tipo di ritorno specifico devono includere un return statement, restituendo un valore corrispondente a quel tipo. Tuttavia, esistono situazioni in cui una funzione non necessita di restituire alcun valore – ad esempio, quando si limita a visualizzare del testo sullo schermo. In questi casi, la funzione deve essere dichiarata con il tipo void.
Main.c
12345678910#include <stdio.h> void func() { printf("This function returns nothing\n"); } int main() { func(); return 0; }
La parola chiave void specifica che una funzione non restituisce alcun valore e può essere utilizzata anche nel contesto dei puntatori. Tentare di dichiarare una variabile di tipo void genera un errore, poiché il compilatore non saprebbe quanta memoria allocare.
Main.c
1234567#include <stdio.h> int main() { void variable; return 0; }
Ricorsione
Il C supporta la possibilità che una funzione richiami sé stessa, una tecnica nota come ricorsione.
Si può immaginare la ricorsione come l'azione di allungare e poi rilasciare un elastico. È comunemente utilizzata nelle operazioni matematiche, come il calcolo dei fattoriali.
I fattoriali sono spesso impiegati nell'approssimazione dei valori delle funzioni tramite l'espansione di queste ultime in serie di Taylor o 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; }
Nel contesto della ricorsione, la funzione continuerà a chiamare sé stessa fino a quando non soddisfa la condizione n == 0 || n == 1. Una volta che questa condizione è soddisfatta, i risultati delle successive chiamate alla funzione factorial() vengono restituiti in ordine inverso, simile al piegarsi di una fisarmonica. Al raggiungimento del passo 6, la chiamata iniziale a factorial(3) restituirà 6.
Grazie per i tuoi commenti!