ciao ragazzi..
ho un problema..
devo disegnare il record di attivazione sullo stack di una funzione..
ho cercato su internet informazioni sul record,ma mi rendo conto che quello che dovrei fare io si allontana totalmente da quello che leggo..
devo rifarmi a quello che il mio professore vuole..
innanzitutto la funzione di cui devo disegnare il record è questa

codice:
puntElenco InserisciElementoInLista(puntElenco L,char*parola){
   puntElenco q=L, prec;
   int PosTrovata=0;
   if(q==NULL){        // lista vuota
      q=inserisci(L,parola);
      return(q);
   }
   
   //lista con una parola con inseriemnto in testa
   if(strcmp(q->info,parola)>=0){ 
      q=inserisci(L,parola);
      return q;
   }
   //lista con almeno una parola, più inserimento dopo la prima parola
   while (q!=NULL && (PosTrovata==0))
   {
      if(strcmp(q->info,parola)<0)
      {
         prec=q;
         q=q->next;
      }
      else
         PosTrovata=1;
   }
   prec->next=inserisci(q,parola);
   return (L);
}
il mio prof per un pezzo di funzione del genere

codice:
float divisione (int a, int*b){
*b=10;
};

main(){
int c=3, e=7;
divisione(c, &e);
printf("la variabile e vale %d",e);
.......

}
fa delle ipotesi,dice supponiamo che per memorizzare un int ho bisogno di un byte,di 2 byte per memorizzare un float e di 4 per memorizzare l'indirizzo di ritorno del programma chiamante
e fa questo "disegno"

stack pointer 319

indirizzo cella di memoria

319 indirizzo di ritorno
320 indirizzo di ritorno
321 indirizzo di ritorno
322 indirizzo di ritorno
323 rappresentazione di 127
324 rappresentazione di 127
325 rappresentazione di 127
326 rappresentazione di 127
327 3
328 spazio risultato
329 spazio risultato

poi dice a e b sono variabili interne alla funzione memorizzate agli indirizzi 327 e
326-323

io non capisco cosa fa..e non so se potete aiutarmi a capire..considerato il fatto che la mia funzione credo sia più complicata e che l'esempio che ho a disposizione se ne discosta molto..
grazie a tutti in ogni caso!!