如何获得结构指针数组?

时间:2012-04-29 22:09:53

标签: c arrays pointers structure

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

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]

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

1 个答案:

答案 0 :(得分:1)

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

table_p -> buckets_array = (void **)malloc(sizeof(buckets)*size);