Come faccio ad allocare memoria per un array di liste, dove la lista è così definita:
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;
dichiaro la variabile list_t ** table;
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???