Se que una funcion no puede retornar una estructura
Estás seguro de eso...?
#include <stdio.h>
typedef struct {
int id;
char* nombre;
} Persona;
Persona crearPersona() {
Persona nueva;
nueva.id = 69;
nueva.nombre = "Pepito";
return nueva;
}
int main(int argc, char **argv) {
Persona persona = crearPersona();
printf("%s\n", persona.
nombre);
}