No soy capaz de entender la recursión de funciones. ¿Cómo funciona? ¿Cómo se almacenan los valores y todo?

No soy capaz de entender la recursión de funciones. ¿Cómo funciona? ¿Cómo se almacenan los valores y todo?

int tree_size(struct node* node) { 
  if (node==NULL) {
    return(0); 
  } else { 
    return(tree_size(node->left) + tree_size(node->right) + 1); 
  } 
}

Respuestas a la pregunta(4)

Su respuesta a la pregunta