#include "stack4.h" #include #include typedef struct list *list; struct list { void *element; list next; }; list cons(void *element, list l) { ... } struct stack { list elements; }; void stack_pop(stack s) { assert(!stack_empty(s)); s -> elements = s -> elements -> next; } stack stack_copy(stack s) { stack temp = malloc(sizeof(struct stack)); temp -> elements = s -> elements; return temp; }