per un progettino dell'uni devo realizzare una hashtable implementata con liste di trabocco.. aiutatemi a non perderi

stando a quanto dice il testo la hashtable sarà un vettore di puntatori ad una lista, che a sua volta è un puntatore ad una struct... giusto?

ovvero:

typedef struct elem
{
char* valore[15];
struct elem * next;
}List;
typedef List* stack;
typedef stack* HashTable[20];

giusto?


quindi

Hashtable ht; //crea il vettore

//ciclo che inizializza il vettore a null
for(i=0;i<20;i++)
{
ht[i] = NULL;
}

a questo punto ho un array di puntatori a nulla... ovvero non esiste nessuna lista.. o meglio.. il puntatore di testa di tutte le liste è null.. giusto?

poi quando creo una lista avrò che l'elemento i-esimo del vettore punterà alla lista i-esima...

quindi ht[i] punterà ad un puntatore alla lista... giusto? quindi di fatto è un doppio puntatore?

Fatemi sapere se sbaglio in qualcosa.. devo sbrogliarmi un po' le idee

PS: avrei frettina..