|  
    
La structure de données implicitement utilisée pour prendre en charge la récursivité est la pile d'appels . 
  
 Bien que vous n'utilisiez pas explicitement *une* structure de données de pile dans votre code lors de l'écriture d'une fonction récursive, le mécanisme sous-jacent en dépend fortement. Chaque appel récursif ajoute une nouvelle trame (contenant des variables locales, des paramètres de fonction et une adresse de retour) sur la pile d'appels. Lorsqu'un appel récursif se termine, sa trame est retirée de la pile et l'exécution reprend au point où l'appel a été effectué. Si la récursivité ne se termine pas correctement, cela peut entraîner une erreur de débordement de pile car la pile a une taille limitée.
 
 |