#include <time.h>
#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>
#include <string.h>
typedef int element;
struct stack_struct{
element data;
struct stack_struct *next;
void a_user_function();
struct stack_struct * initialize_stack();
int is_empty(struct stack_struct *);
int plunge(struct stack_struct *);
struct stack_struct * pop(
struct stack_struct *,
element *);
int push(struct stack_struct *,
element);
....
void a_user_function()
{
element new_data;
int status;
struct stack_struct *top, *temp;
top = initialize_stack();
push(top, 33);
push(top, 66);
push(top, 99);
status = plunge(top);
if(is_empty(top) == 0){
top = pop(top, &new_data);
status = plunge(top);
}
} /* ends a_user_function */
....
struct stack_struct * pop(
struct stack_struct *top,
element *result)
{
struct stack_struct *temp;
temp = top;
*result = top->data;
top = top->next;
free(temp);
return(top);
} /* ends pop */
....
int push(struct stack_struct *top,
element new_data)
{
int result = 1;
struct stack_struct *new_one;
new_one = (struct stack_struct *)
calloc(1, sizeof(struct stack_struct));
new_one->data = top->data;
top->data = new_data;
new_one->next = top->next;
top->next = new_one;
return(result);
} /* ends push */
/* End of File */