создать программу на С, в которой будут работать функции добавления и удаления следующего элемента стека
вот написала код, но он не хочет работать, помогите плиз
Код
#include<stdio.h>
#include<stdlib.h>
#define MES_LEN 10
typedef struct inform {
int index;
char message[MES_LEN];
} INFORM;
typedef struct list_elem {
INFORM inform;
struct list_elem *next;
} LEL;
LEL* PutInStack(INFORM data);
void PrintList(void);
LEL* GetFromStack(INFORM* pdat);
LEL *list;
int main(void)
{
LEL *end=NULL;
puts("\t\t Vhidni dani:");
do {
end=PutInStack(end);
} while (end!=NULL);
puts("\n\n\t Vvedeno dani v stek:");
PrintList();
GetFromStack();
PrintList();
return 0;
}
void PrintList(void)
{
LEL *pel=list;
while(pel!=NULL)
{
printf("\n%-8d%-70s", pel->inform.index, pel->inform.message);
pel=pel->next;
}
}
LEL* PutInStack(INFORM data)
{
LEL *pnew;
pnew=(LEL*)malloc(sizeof(LEL));
pnew->inform=data;
pnew->next=list;
list=pnew;
return pnew;
}
LEL* GetFromStack(INFORM* pdat)
{
LEL *ph=list;
if (ph==NULL) return NULL;
*pdat=ph->inform;
list=list->next;
free(ph);
return list;
}