#include typedef struct { int data; struct node * prev; }node; typedef struct { int size; node * top; }stk; void push_s(int data, stk * ptr) { node * added = (node *)malloc(sizeof(node)); added->data = data; added->prev = ptr->top; ptr->top = added; ptr->size++; } int pop_s(stk * ptr) { int s = (ptr->top)->data; node * temp = (ptr->top)->prev; free(ptr->top); ptr->top = temp; return s; } int main() { stk sta; stk * ptr = &sta; push_s(15,ptr); push_s(12,ptr); push_s(44,ptr); push_s(92,ptr); push_s(10,ptr); int i; for(i = 0; i<5; i++) { printf("%d \n",pop_s(ptr)); } }