Ciao a tutti. Devo inserire in una lista record di questo tipo:
ma ho problemi nello scandire l'input. Questa è la mia main:codice:struct record { char *nome; char *cognome; int age; struct record *next; };
credo che sia la scanf che non va,perchè la fprintf che segue mi dà null..codice:int main(int argc, char *argv[]) { if(argc !=1) { fprintf(stderr, "Usage: %s [<file] [>file]\n", argv[0]); exit(EXIT_FAILURE); } int n; char *name=NULL, *sname=NULL; struct record *r=NULL; //lista vuota printf ("\nInserire nome cognome e età: "); scanf("%s", name); scanf("%s", sname); scanf("%d", &n); fprintf(stdout, "%s", name); inserisci_record(&r,name,sname,n); stampa_lista(r); return(EXIT_SUCCESS); }

Rispondi quotando
prima di leggere con la scanf devi allocare la memoria in cui questa andrà a scrivere, puoi o fare dei buffer a dimensione fissata all'interno della struct record, oppure usare l'allocazione dinamica.
l'allocazione l'ho fatta dopo
ecco perchè non va!
