Lista dwukierunkowa cykliczna

0

Cześć. Jak przekazać w tym przypadku strukturę do funkcji aby ta wiedziała co to jest head, element, temp?

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

typedef struct lista{
        struct lista *next,*prev;
        int war;
        }el_listy;

void dodaj(el_listy , int liczba)
{

   if(element==NULL)
   {
   element=(el_listy*)malloc(sizeof(el_listy));
   element->war=liczba;
   head->next=element;
   element->prev=head;
   element->next=head;
   head->prev=element;
   temp=element;
   }
   else
   {
   element=(el_listy*)malloc(sizeof(el_listy));
   temp->next=element;
   element->prev=temp; 
   element->next=head;
   head->prev=element
   head->next=element;
   temp=element; 
   }   
}          
int main()
{
    int i;

    el_listy a;
    el_listy *head=&a;
    el_listy *element=&a;
    el_listy *temp=&a;
    element=NULL;
    head->war=1;
    head->next=head;
    head->prev=head;

    for(i=0;i<10;i++)
    dodaj(head,i);

   getchar();
   return 0;
} 
0

?

void dodaj(lista* el_listy , int liczba)
0

Niestety nie działa

0

To oczywiste że, bo trzeba jeszcze całość wewnątrz tej funkcji zmienić, razem z nagłowkiem. Doradzono ci tylko jak pozbyć się błędu.

0

Pytanie było przecież:

Jak przekazać w tym przypadku strukturę do funkcji

I na to pytanie odpowiedziałem.

0
Shalom napisał(a):

Pytanie było przecież:

Jak przekazać w tym przypadku strukturę do funkcji

I na to pytanie odpowiedziałem.

aby ta wiedziała co to jest head, element, temp.

0
void dodaj(lista* head, lista* element, lista* temp, int liczba)

Aczkolwiek mam wrażenie że sam nie wiesz do końca co robisz...

0
typedef struct el_listy_
  {
   struct el_listy_ *next,*prev;
   int war;
  }el_listy;
typedef struct lista_
  {
   struct el_listy_ *head;
  }lista;

void dodaj(lista *L,int war)
  {
   ...
  }
0
el_listy a;
    el_listy *head=&a;
    el_listy *element=&a;
    el_listy *temp=&a;

Mam taką małą wątpliwość co do tego fragmentu kodu. Chodzi o te żeby pod jednym adresem zapisać wszystkie wskaźniki do struktury?

0

Czyli twoja lista nigdy nie może być pusta?

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0