1

我需要创建一个头指针数组。

typedef struct data_{
  void *data;
  struct data_ *next;
}data;

typedef struct buckets_{
  data *data;
  void *key;
}buckets;

typedef struct hash_table_ {
  buckets **buckets_array;
} hash_table, *Phash_table;

Phash_table table_p;
table_p = (void *)malloc(sizeof(hash_table));
table_p -> buckets_array = (void **)malloc(sizeof(buckets buckets)*size); 
/*Line #7*/

当我尝试编译时,我得到了这个

hash.c:7:62: error: expected ')' before 'buckets'
hash.c:7:28: warning: assignment from incompatible pointer type [enabled by default]

我正在尝试获取一组存储桶,每个存储桶将指向一个链表。我在正确的道路上吗?

4

1 回答 1

1

你有一个错字。我想你想写

table_p -> buckets_array = (void **)malloc(sizeof(buckets)*size); 
于 2012-04-29T22:12:26.463 回答