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
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!