#include "pile.h" pile_t push(void* x, pile_t s) { pile_t element = malloc(sizeof(struct s_stack));; element->next = s; element->data = x; return element; } void* pop(pile_t *pile) { void* data; pile_t element; if (!stack_is_empty(*pile)) { data = (*pile)->data; element = (*pile)->next; free(*pile); pile = &element; return data; } else return NULL; }