Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Void e Ricorsione | Funzioni
Fondamenti Di C

bookVoid 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

Main.c

copy
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

Main.c

copy
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

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

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.

question mark

Immagina una pubblicità in cui vedi una ragazza che tiene in mano una bottiglia di latte. Su questa bottiglia c'è un'altra immagine della stessa ragazza che tiene una bottiglia di latte, e su quella bottiglia più piccola c'è ancora un'altra immagine della ragazza, e così via. Come si chiama questo concetto?

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 5. Capitolo 6

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

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

Main.c

copy
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

Main.c

copy
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

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

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.

question mark

Immagina una pubblicità in cui vedi una ragazza che tiene in mano una bottiglia di latte. Su questa bottiglia c'è un'altra immagine della stessa ragazza che tiene una bottiglia di latte, e su quella bottiglia più piccola c'è ancora un'altra immagine della ragazza, e così via. Come si chiama questo concetto?

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 5. Capitolo 6
some-alt