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 に答える