o sea que ambos casos son iguales, no?, se esta creando un alias de una estructura con la unica diferencia que en la primera es anonima y en la otra no.
En este caso:
typedef struct nodo {
int a;
}tipo_elemento;
es lo mismo:
struct nodo a;
tipo_elemento a;
Pero en este caso:
typedef struct {
int a;
}tipo_elemento;
solo se puede declarar:
porque si es anonima y no se crear un alias no se puede declara una variable de ese tipo no?