Anche ipotizzando che il codice che hai postato sia compilabile, il suo comportamento e' indefinito:
infatti la funzione "elabora" viene chiamata con "C.ultimo" che non è stato inizializzato = comportamento indefinito.codice:int main() { struct Coda C; struct Cella *L = NULL; ... ... L = elabora(&C,C.ultimo);