2014-02-12 1 views
0

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; 
    } 
} 

사용하려고 시도하는 구조는 다음과 같습니다. 이 유형 vertex이어야 때

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

그리고

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

'list'의'array' 멤버는'struct vertex *'이어야합니다. 그렇지 않으면 코드에 '정점'이 표시되지 않습니다. – webuster

+0

모든 도움에 감사드립니다. – user3303509

답변

2

귀하의 list 멤버 형식 목록입니다.

1

구조체 목록에서 구조체 정점에 대한 참조가 없습니다. 나는 그것을해야한다고 생각한다.

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