【问题标题】:How to access a variable in an array of struct's如何访问结构数组中的变量
【发布时间】:2023-03-26 08:07:02
【问题描述】:

在下面的 for 循环中,我尝试访问存储在另一个结构中的结构数组,但我继续收到一条错误消息。 “结构列表没有成员头。”

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;

【问题讨论】:

  • 您的listarray 成员应该是struct vertex*。否则,我在您的代码中看不到任何 vertex
  • 感谢您的帮助。

标签: c arrays struct structure


【解决方案1】:

您的list 成员属于列表类型,而它应该属于vertex 类型。

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 2018-09-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-08
      • 2017-01-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多