Originariamente inviato da noiseimpera
che poi che è quello che ho fatto io..
No, tu hai fatto
Codice PHP:
list_t** table;
table = malloc(size*sizeof(list_t));
questo vuol dire allocare size list_t e far puntare il blocco di memoria ad un puntatore a puntatore, che è diverso (oltre a non essere corretto) da:
Codice PHP:
list_t* table;
table = (list_t*)malloc(size * sizeof(list_t));
dove table è un puntatore a list_t (creando quindi un array).
il problema è che praticamente io lavoro su una struttura che già m è stata data e la tabella è dichiarata come list_t ** table.
Se non posti codice è difficile capire perchè table è di tipo list_t**, potrebbe essere, ad esempio, un riferimento ad un puntatore:
Codice PHP:
void f(list_t** table) { }
int main()
{
list_t* table = (list_t*) malloc(sizeof(list_t) * 8);
f(&table);
free(table);
}
per fare un esempio, oppure, come il nome suggerisce, potrebbe essere una matrice e non un array...però non so dirti senza qualche indizio in più