Inteface d'une pile impérative en C

/* Header file for the stack abstract data type with imperative interface */

struct stack;

typedef struct stack *stack;

/* create an empty stack */
extern stack stack_create(void);

/* push an object on a stack */
extern void stack_push(stack s, void *object);

/* return true if and only if the stack is empty */
extern int stack_empty(stack s);

/* return the top element of the stack.
   The stack must not be empty (as reported by stack_empty() */
extern void *stack_top(stack s);

/* pop en element off of the stack.
   The stack must not be empty (as reported by stack_empty() */
extern void stack_pop(stack s);