#define MAX_STACK_SIZE 1000 typedef struct { void *contents[MAX_STACK_SIZE]; unsigned nb_values; } stack; stack *stack_new(void); void stack_free(stack *); int stack_push(stack *, void *); void *stack_pop(stack *); void *stack_top(stack *); unsigned stack_size(stack *); int stack_is_empty(stack *);