c - 如何获得指向结构的指针数组?

标签 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]

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

最佳答案

你打错了。我想你想写

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

关于c - 如何获得指向结构的指针数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10376444/

相关文章:

c - 使用 valgrind 和 gdb 进行调试

c - 对 C 文件进行排序

c - 库中的 SIGCHLD 和 fork + waitpid()

Java 从二维数组制作 vector 。

objective-c - Objective-C : member variables and arrays

c - 尝试输入值并使用指针将它们打印在矩阵中

c - 如何获取空指针数据的副本

c - 如何让链接器报告它为给定函数链接到的位置

java - Java 中的“导入”与 C/C++ 中的 '#include'

Javascript 未设置数组