View Single Post
Old 15-05-2005, 16:58   #2
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
non capisco dove starebbe il problema, dimmi più precisamente cos'è che non sai fare; per allocare memoria per un nuovo nodo basta usare la malloc: la malloc semplicemente alloca un nuovo blocco di memoria con una dimensione di N bytes (dove N sarebbe il parametro che gli passi) e ne restituisce il puntatore; alla fine per liberare il blocco basta passarlo a free. ricorda però che se il nodo contiene dei campi stringa devi allocare memoria anche per quelli, e alla fine liberare anche quella memoria. esempio:
Codice:
typedef struct _nodo {
    char *info;
    struct _nodo *next;
} nodo, *lista;
allocazione e inizializzazione di un nodo:
Codice:
nodo *n = (nodo*)malloc(sizeof(nodo));
n->info = (char*)malloc(...);  // la dimensione della stringa da metterci la stabilisci tu
n->next = ...;  // il prossimo nodo della lista lo stabilisci tu
deallocazione:
Codice:
free(n->info);
free(n);
tutto qua
71104 è offline   Rispondi citando il messaggio o parte di esso