il return 0 l'ho scritto per chiudere prematuramente la funzione,avevo detto che cercavo di capire perche non andava il printf interno alla funzione, non quello fuori :master:

ora ci penso un po su , comunque sia come si spiega il successo dell'inizializzazione dopo la dichiarazione senza allocazione della memoria dinamica?inoltre in quel modo sono riuscito anche a far si che la struct venisse restituita correttamente, insomma se funzionasse l'assegnazione carattere per carattere come quella per tanti caratteri alla volta avrei delle struct grandi il minimo e senza dover allocare dinamicamente la memoria...