typedef struct MEM * MEMORIA;
struct MEM{ IDENT Variabile;
REALE_ENORME Valore;
MEMORIA Next;
};
Sviluppiamo ora le varie funzioni che appaiono nell'interfaccia del modulo.
MEMORIA Modifica(IDENT id, REALE_ENORME re, MEMORIA m);
/*ritorna la memoria ottenuta modificando m in modo che il valore di id sia re*/
{
MEMORIA m1;
m1 = (MEMORIA)malloc(sizeof(struct MEM));
m1 -> Valore = re;
Copia_Ident(m1 -> Variabile,id);
m1 -> Next = m;
return m1;
}
REALE_ENORME Valore_Di(IDENT id, MEMORIA m)
/*ritorna il valore associato ad id in m,
si assume che ci sia sempre un'associazione per id in m */
{
while(m != NULL)
if(Uguali_Ident(m -> Variabile,id))
return m -> Valore;
else
m = m -> Next;
}