2012-04-29 74 views
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] 

我試圖讓桶的陣列,並且每個桶將指向一個鏈表。 我在正確的道路上嗎?

+1

'sizeof(buckets buckets)'''''你已經寫了'buckets'兩次了。 –

+0

感謝您的幫助。 –

回答

1

你有一個錯字。我想你想寫

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

Nvm(void **)導致了這個問題。謝謝您的幫助。 –