stworzyłem następujące struktury:
struct stringi{
char znak;
struct stringi *next,*prev;
};
struct listholder{
struct stringi *first,*last;
}*tekst_jawny_H,*szyfrogram_H,*haslo_H;
Chciałbym stworzyć jedną funkcje push, ktora będzie mogła stworzyć listę i dopisywać do niej elementy, do każdego z trzech wskaźników: *tekst_jawny_H,*szyfrogram_H,*haslo_H Napisałem coś takiego: (printfy z numerkami do kontroli wykonania funkcji)
void push(struct listholder *holder,char c){
printf("o\n");
struct stringi *wsk;
printf("1\n");
wsk = (struct stringi*) malloc(sizeof(wsk));
printf("2\n");
wsk->znak=c;
printf("3\n");
wsk->prev=holder;
printf("4\n");
if (holder->first!=NULL) wsk->next=holder->first->next; else wsk->next=holder->last;
printf("5\n");
if (holder->first!=NULL) holder->first->prev=wsk; else holder->first=wsk;
printf("fin.\n");
}
Po uruchomieniu zwraca exit code 5.
Co robię źle z tymi wskaźnikami? (nic się nie wyświetla - żadna linia się nie wykonuje;/)
Jak powinno wyglądać wywołanie tej funkcji?