所以有2个结构:
struct Morning {
int time;
int day;
struct Morning *next; //pointer for the next node if there are any collisions
};
struct Days_Hash_Table {
int count;
struct Morning **task; // array for the hash table
};
如何为 分配内存struct Morning **task
?另外,如何定义数组大小?(大小始终存储在全局变量中,比如说array_size
。)我尝试了以下操作:
struct Days_Hash_Table* table = malloc(sizeof(struct Days_Hash_Table)+ sizeof(struct Morning)*array_size);
例如,当我尝试访问数组时,table->task[0]->time = 0;
我遇到了分段错误。解决这个问题的正确方法是什么?**task
如果我更改为也会更容易*task[]
吗?
谢谢!