La dicitura:
a* b;
significa definire la variabile b di tipo struttura?
no significa dichiarare b come puntatore alla struttura a

Inoltre la dicitura:
b = (a*) c;
significa definire la variabile "c" sempre di tipo struttura e mettere tutto in "b"?
(a*)c penso significa effettuare il cast, cioè forzare che c sia un puntatore a struttura a, poi siccome fai b = (a*)c assegni il tutto a b