Я пытаюсь сделать реализацию двойного связанного списка, который подключается к массиву.
Структура, которая создает массив, содержит указатель на заголовок и хвост списка.
typedef struct myStruct{
int code;
struct myStruct *Head;
struct myStruct *Tail;
}myStruct;
myStruct MyArray[10];
Вот мой двойной связанный список:
struct myList
{
int data;
struct myList *previous;
struct myList *next;
}head;
struct myList *start =NULL;
На следующем фрагменте кода я получаю предупреждение, которое я написал в заголовке поста
предупреждение: присвоение из несовместимого типа указателя
void add_neighbor_to_neighborList(struct neighborList *start,int code,int Data)
{
struct myList *newNode = (struct myList *) malloc (sizeof(struct myList )); /* creates a new node of the correct data size */
newNode->data = Data;
if (start == NULL) { /*WARNING!checks to see if the pointer points somewhere in space*/
MyArray[code].Head=newNode; //WARNING
newNode->previous=MyArray[code].Head;
}
else
{
MyArray[code].Tail->next=newNode; /*error: ‘struct myStruct’ has no member named ‘next’*/
newNode->previous=MyArray[code].Tail; //WARNING
}
/*if (newNode == NULL){
return NULL;
}*/
MyArray[code].Tail=newNode; //WARNING
newNode->next=MyArray[code].Tail; //WARNING
//return *start;
}
Я смотрю на это так много времени, но все еще не могу найти в чем дело и что я должен исправить
Если бы у вас была идея, я был бы признателен за это! Спасибо в любом случае / заранее! ;)