链式哈希表声明

时间:2013-05-20 09:30:40

标签: c hashtable chained

在使用C的Master Algorithm中,作者声明了链式哈希表的结构,如下所示:

typedef struct CHTbl_ {

int                buckets;

int                (*h)(const void *key);
int                (*match)(const void *key1, const void *key2);
void               (*destroy)(void *data);

int                size;
List               *table;

} CHTbl;

但我认为最后一个应该是List *table[buckets]; 因为作者使用了像&htbl->table[bucket]这样的东西。我对吗?为什么作者的定义可以正确地通过测试?为什么是正确的?谢谢!

1 个答案:

答案 0 :(得分:1)

tableList指针,用于表示List的数组。它可能是这样初始化的:

htbl->table = malloc(sizeof(List) * htbl->buckets);