如何声明结构指针的动态数组?

时间:2014-11-26 08:30:28

标签: c pointers struct

我正在使用邻接列表创建图表。

typedef struct node
{
    struct node *next;
    int value;
    int to;
} node;

typedef struct bag
{
    node *first;
    int size;
} bag;

node是图中的每条边,bag是顶点所有相邻边的列表。

我想创建一个数据结构Adjacency List,使列表是 bag * 的数组。
像这样的东西 -

bag **adjacency_list;

但是我对如何初始化adjacency_list感到困惑。

我希望我的adjacency_list's大小等于可以在将来添加更多顶点的顶点数量。

如果我初始化如下 -

adjacency_list = malloc(no_vert * sizeof(*adjacency_list));

我如何为每个顶点添加相应的包(边)? enter image description here

1 个答案:

答案 0 :(得分:0)

如果您需要链表,则无需双指针。即定义bag * adjacency_list;