Questa è una versione funzionante della tua lista, che come commento ha dove sbagli:
Ciao!codice:#include <stdio.h> #include <stdlib.h> struct mp3 { int id; struct mp3 *punt; }; struct mp3 *crealista (int, struct mp3*); void visualizza (struct mp3*); int main() { struct mp3 *puntLista = NULL; int n, i, id; n = 5; for (i = 0; i < n; i++) { printf ("Inserisci il %d numero: ", i + 1); fflush (stdin); scanf ("%d", &id); /* indirizzo della variabile */ puntLista = crealista (id, puntLista); /* punto alla nuova struttura */ } visualizza (puntLista); return (0); } struct mp3 *crealista (int number, struct mp3 *testa) { struct mp3 *p; p = (struct mp3 *) malloc (sizeof (struct mp3)); p -> id = number; /* metto il numero */ p -> punt = testa; /* metto il vecchio indirizzo della struct */ return (p); /* ritorno il nuovo indirizzo della struttura */ } void visualizza (struct mp3* list) { /* visualizzo, passando il punt per indirizzo, tanto nn devo ritornare nada :) */ while (list) { printf ("%d \n", list -> id); list = list -> punt; } }

Rispondi quotando