【发布时间】:2015-11-08 19:19:15
【问题描述】:
我整天都在寻找,但我找不到可以做我正在寻找的事情的人。我正在尝试找到一种方法来创建指针数组。
类似于 Tree 数据结构,但我想创建一个可扩展的数组来存储许多指针,而不是仅使用左右指针。有没有办法做到这一点?
struct Test{
char label[100];
float fear;
float anger;
float disgust;
float sad;
float happy;
float surprise;
struct Test *connect[];
};
我在上面包含了我的结构,所以我想要的是 connect 能够在我需要时随时扩展,同时存储指向其他测试的指针。
我尝试使用 malloc,但似乎我做得不对,这是我的尝试:
typedef struct 测试测试;
在函数中 (*tst)->connect = malloc(sizeof(test));
【问题讨论】:
-
看来您需要 flexible array member。我认为只有
size_t n_connect;和struct Test **connect;成员就足够了。显然,一些calloc和realloc管理将是为了维护这些成员。