Buenas , revisando la solución no entiendo lo siguiente:
Esa definición no debería ser :
typedef struct{
char* string;
nodo* siguiente;
}
En todos los exámenes que hice las estructuras se definían así :
A la izquierda el tipo a la derecha en nombre del campo.
En todos los exámenes anteriores se utilizo esta forma de definir estructuras.
De verdad esto marea y mas si el nombre de un campo es un nombre que comúnmente es un tipo, si el c++ un string es un puntero a char pero no hay porque saberlo.
Saludos.