如何访问结构数组中的变量

时间:2014-02-12 21:06:52

标签: c arrays struct structure

在下面的for循环中,我尝试访问存储在另一个结构中的结构数组,但是我继续得到一个错误。 “struct list没有成员头。”

list* createList(int size)
{
    list* graph = malloc(sizeof(list));
    graph->size = size;
    graph->array = malloc(size * sizeof(vertex));
    int i;
    for(i=0; i < size;i++){
        graph->array[i].head = NULL;
        return graph;
    }
}

我试图使用的结构如下。

struct vertex
{
    struct vertex *head;
};
typedef struct vertex vertex;

并且

struct list
{
    int size;
    struct list* array;
};
typedef struct list list;

2 个答案:

答案 0 :(得分:2)

您的list成员属于类型列表,其类型应为vertex

答案 1 :(得分:1)

结构列表中没有对结构顶点的任何引用。我怀疑它应该是

struct list{
     int size;
     struct vertex* array;
};
typedef struct list list;