数据结构第二版严蔚敏
typedef struct {
int *base;
int *top;
int stacksize;
}SqStack;
void initStack(SqStack &s){
s.base = new int[99]; //p->base代表指向结构体SqStack成员base的指针。
//s.base代表的是结构体s里的成员base。
//s.base 数组第一个元素的地址
s.top = s.base;
s.stacksize = 99;
}
void push(SqStack &s, int e){
if( s.top-s.base == s.stacksize ){
printf("栈满");
return;
}
*s.top++=e; //s.top+1 数组下一个元素的地址; * 取该地址的数据
}
int pop(SqStack &s){
return *--s.top;
}