Sebbene non esalti esplicitamente * una struttura di dati dello stack nel codice quando si scrive una funzione ricorsiva, il meccanismo sottostante si basa fortemente su di esso. Ogni chiamata ricorsiva aggiunge un nuovo frame (contenente variabili locali, parametri di funzione e indirizzo di ritorno) allo stack di chiamata. Quando si completa una chiamata ricorsiva, il suo frame viene saltato fuori dallo stack e l'esecuzione riprende nel punto in cui è stata effettuata la chiamata. Se la ricorsione non è terminata correttamente, può portare a un errore di overflow dello stack perché lo stack ha una dimensione limitata.
software © www.354353.com