Anche ipotizzando che il codice che hai postato sia compilabile, il suo comportamento e' indefinito:

codice:
int main()
{
struct Coda C;
struct Cella *L = NULL;
...
...
L = elabora(&C,C.ultimo);
infatti la funzione "elabora" viene chiamata con "C.ultimo" che non è stato inizializzato = comportamento indefinito.