2013-11-07 5 views
0

Я пытаюсь написать абстрактный тип данных для представления наборов целых элементов, используя связанные списки.C набора связанных списков (абстрактный тип данных)

Я получаю следующие ошибки:

ERROR undeclared identifier 'linkedListSet' 

error #2152: Unknown field 'code' of '(incomplete) struct LinkedListSet'. 

и чувствую, что я должен быть ломать некоторые базовые правила с функциями, структурой и указателями, но я действительно не могу понять это. Ниже мой код с сообщениями об ошибках.

#include<stdio.h> 
#include<stdlib.h> 

struct linkedListElement{ 
    int data; 
    struct linkedListElement * next; 
}; 

struct linkedListSet { 
    //struct linkedListElement * firstElement; 
    struct linkedListElement * header; 
    struct linkedListElement * current; 
    struct linkedListElement * temp; 
    int code; 
}; 

struct linkedListSet * createdSet(){ 
    struct linkedListSet * newSet = malloc(sizeof(linkedListSet)); 
    //ERROR undeclared identifier 'linkedListSet' 

    newSet->header->data = 0; 
    newSet->header->next = NULL; 

    return newSet; 
} 

int addItem (struct LinkedListSet * setPtr, int info){ 
    struct linkedListElement * newElementPtr; 

    setPtr->code = 3; 
    //error #2152: Unknown field 'code' of '(incomplete) struct LinkedListSet'. 
    return 1; 
}; 

int main(){ 
    return (0); 

ответ

0

linkedListSet должен быть struct linkedListSet:

struct linkedListSet * newSet = malloc(sizeof(struct linkedListSet)); 

LinkedListSet должен быть linkedListSet.

int addItem (struct linkedListSet * setPtr, int info) 
+0

Большое спасибо - основные ошибки, но я не мог видеть их всех! – user2961973

1

Try REFERENCING как так Структуры

typedef struct /* my struct tag */ { 
int a; 
int b; 
} MyStructType; 

И позже

MyStructType * mystruct; 
mystruct->a = 34; 
// etc... 
+0

Спасибо, это помогло! – user2961973

+0

Рад, что я мог бы помочь;) –

Смежные вопросы