codice:typedef struct List List; void init(List *aux, char *el); void add(List *aux, char *el); struct List { char *el; // l'elmento List *next; // il prossimo elemento della lista }; // inizializza la lista void init(List *aux, char *el) { assert(aux != NULL); strcpy(aux->el, el); aux->next = NULL; } // aggiunge un elemento void add(List *aux, char *el) { assert(aux != NULL); while(aux->next != NULL) aux = aux->next; List *tmp; strcpy(tmp->el, el); tmp->next = NULL; aux->next = tmp; } // ..... // siamo nell'ipotetico main() //... List* head; init(head); //... //nel tuo while while(fgets(s,254,FileIn)) { if (strstr (s, par) != NULL) { add(head, s); y++; } else x++; }