#include <stdio.h>
#include <stdlib.h>
void push(int);
int pop();
int *pi = NULL;//top指针
int *tos = NULL;//head指针
int main()
{
int v;
//申请50个int的空间
pi = (int *)malloc(50*sizeof(int));
if(!pi)
{
printf("allocation failure\n");
exit(0);
}
tos = pi;
do
{
printf("please input value, push it;enter 0 then pop;(enter -1 then stop)\n");
scanf("%d", &v);
if(v!=0)
push(v);//加入空间
else
printf("pop this is it %d\n", pop());
} while(v!=-1);
free(tos);
}
void push(int i)
{
pi++;
if(pi==(tos+50))
{
printf("stack overflow\n");
exit(0);
}
*pi = i;
}
int pop()
{
if(pi==tos)
{
printf("stack underflow\n");
exit(0);
}
pi--;
return *(pi+1);
}
C语言实现栈的操作
最新推荐文章于 2022-07-04 22:16:33 发布