Pilha em C

Um exemplo simples de pilha em C.


#include <stdio.h>
#define SIZE 10

int  pop();
void push(int i);

int *tos, *p1, stack[SIZE];

int main(int argc, char **argv)
{
int value;

tos = stack;
p1  = stack;
do{
printf("Digite o valor(0 para ver o topo):");
scanf("%d", &value);
if(value !=0)
push(value);
else
printf("\nO valor do topo eh: %d\n", pop());
}
while(value != -1);
return 0;
}

void push(int i){
p1++;
if(p1==(tos+SIZE))
{
printf("\nStack overflow");
}
*p1 = i;
}

int pop(){
if(p1==tos){
printf("\nStack overflow");
}
p1--;
return *(p1+1);
}

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Sair / Alterar )

Imagem do Twitter

You are commenting using your Twitter account. Sair / Alterar )

Foto do Facebook

You are commenting using your Facebook account. Sair / Alterar )

Connecting to %s