Come faccio ad allocare memoria per un array di liste, dove la lista è così definita:
dichiaro la variabile list_t ** table;codice:typedef struct { /** la testa della lista */ elem_t * head; /** la funzione per confrontare due chiavi */ int (* compare) (void *, void *); /** la funzione per copiare una chiave */ void * (* copyk) (void *); /** la funzione per copiare un payload*/ void * (* copyp) (void *); } list_t; typedef struct elem { /** chiave */ void * key; /** informazione */ void * payload; /** puntatore elemento successivo */ struct elem * next; } elem_t;
dopodichè voglio allocare memoria e sapendo che la table ha lunghezza size faccio così:
table = malloc(size*sizeof(list_t));
Il problema è che quando utilizzo in seguito la table mi da segmentation fault, dove sbaglio???

Rispondi quotando