Ciao a tutti.

Non ho capito perché bisogna salvare un registro nella memoria e poi ripristinarlo. So che i dati vengono conservati in memoria quando questi ultimi fanno parte di una struttura dati, come ad esempio un vettore di elementi. Spostiamo i valori nella memoria perché i registri sono limitati. Ma non ho capito il perché si usa questa tecnica anche in questo programma:

int esempio_foglia( int g, int h, int i, int j) {

int f;

f = (g + h) - (i + j);
return f;
}

Il libro praticamente aggiorna lo stack pointer per far spazio ad un elemento in memoria. Questo elemento è f. In pratica salva f nello stack (pila) e poi a fine funzione lo ripristina. Non ho capito perché il valore deve essere salvato e poi ripristinato e poi perché proprio f ?

Se non avete capito la domanda ditemelo.

Grazie.