Witam.
Stworzyłem, niezbyt skomplikowaną listę cykliczną jednokierunkową, lecz gdzieś w pewnym momencie musiałem sie pogubić. Albo źle zapisuje elementy do stosu albo, wyświetlam je w zły sposób. Proszę o wskazówke gdzie popełniam bład
#include<stdio.h>
#include<stdlib.h>
typedef struct Pociag { // Faza testowa wiec narazie nie korzystam z tego
int ID;
char Trasa[8];
char Typ[4];
float Przyjazd;
float Postoj;
int Peron;
} Element;
typedef struct Wezel {
int nr;
Wezel *nast,*poprz;
} Wezel;
Wezel *Head=NULL;
int DodajNaKoniec(Wezel *&biezacy, int nr){
if (biezacy!=NULL ) //jesli stos istnieje
{
Wezel *tmp;
tmp = (Wezel *)malloc(sizeof(Wezel));
tmp->poprz = biezacy->nast;
tmp->nr = nr;
biezacy->nast = tmp;
tmp->nast = Head;
}
else
{ // Jesli tworzymy stos
Wezel *tmp;
tmp=(Wezel *)malloc(sizeof(Wezel));
tmp->poprz=tmp;
tmp->nr= nr;
tmp->nast=tmp;
Head = tmp;
}
}
//drukuje ostatni rekord, dodany na stos
void DrukujListe(Wezel *biezacy){
printf("Adres elementu: %p\n", biezacy);
printf("Wartosc elementu: %d \n",biezacy->nr);
}
int main(){
Wezel *omg = NULL;
int e=10;
DodajNaKoniec(omg,e);
DrukujListe(omg);
char c = getchar();
}
Program po wyświetleniu adresu do wskaźnika, wysypuje się.