Per crearti il nuovo elemento devi allocare la memoria necessaria che questo elemento andrà ad occupare. Devi utilizzare la funzione malloc al quale passi la dimensione di memoria da richiedere
Codice:
nodo *new;
new = malloc (sizeof(nodo));
Per l'inserimento il procedimento è il seguente. Se la lista è vuota, quindi la testa è NULL lo inserisci direttamente. Altrimenti sposti il primo elemento e inserisci quello nuovo. Per l'inserimento in coda bisogna leggere tutta la lista e poi inserire.
Codice:
In testa
if (new != NULL) {
new -> next = testa -> next;
testa -> next = new;
}
} else {
printf ("Memoria non disponibile");
}
In coda
nodo *cur;
if (new != NULL) {
cur = testa;
while (cur -> next != NULL)
cur = cur -> next;
cur -> next = new;
} else {
printf ("Memoria non disponibile");
}
Considera che questo è quello che ricordo di C, che è un linguaggio che non uso molto, anzi direi mai, quindi potrebbero esserci delle imprecisioni. Spero di essere stato utile e di aver sbagliato il meno possibile