Pilhas - remoção de elementos

Numa pilha, a remoção de elementos é chamada desempilhamento. Sua tarefa nesse exercício é implementar essa operação usando listas encadeadas. Para tanto, você deve submeter a função

int desempilha (celula *p, int *y);

que deve

Espera-se que celula seja uma struct da forma

typedef struct celula {
  int dado;
  struct celula *prox;
} celula;

e que a pilha seja representada por uma lista encadeada com nó cabeça.

O arquivo a ser submetido deve incluir apenas

  1. os #include necessários para a execução do seu código,

  2. a declaração da estrutura necessária e

  3. a função solicitada.