【发布时间】:2018-05-26 09:43:19
【问题描述】:
我正在尝试构建一个哈希表,使用以下节点和表:
typedef struct Node {
int key;
int value;
int status;
} Node;
typedef struct Table {
int size;
Node* node;
} Table;
node in struct Table 是一个Node 指针,所以我认为hasht(Table*)->node 将是一个Node*。我尝试将表中的所有node* 初始化为NULL,如下所示:
for(int i=0;i<hasht->size;i++)
{
hasht->node[i]=NULL;
}
但是,当我编译代码时,它给了我这个错误:
" 从类型‘void *’分配给类型‘Node {aka struct Node}’时不兼容的类型 哈希->节点[i]=NULL; "
我不明白为什么hasht->node[i] 是Node,而不是Node*。
如何使用Table* 在Table 变量中获取Node* 成员?
【问题讨论】: