Nie wiem czy poprawnie inicjalizuję listę dwukierunkową.
Mógłby mi ktoś pomóc i wskazać w jaki sposób wypisać tą listę od końca?
#include <stdio.h>
#include <stdlib.h>
struct student {
int ocena;
struct student *nast;
struct student *poprz;
};
int main(){
struct student *glowa = NULL, *wsk = NULL;
int i = 0, ile = 3;
while (i < ile){
if (glowa == NULL){
glowa = wsk = (struct student*)malloc(sizeof(struct student));
wsk->poprz = wsk->nast = NULL;
}
else{
wsk->poprz = wsk;
wsk->nast = (struct student*)malloc(sizeof(struct student));
wsk = wsk->nast;
}
scanf("%d", &wsk->ocena);
i++;
}
i = 0;
wsk = glowa;
putchar('\n');
while (i < ile){
if (i == 0){
wsk = wsk->poprz;
}
else{
wsk = wsk->nast;
}
printf("%d\n", wsk->ocena);
i++;
}
printf("\nKoniec programu.\n");
return 0;
}