出栈操作pop
代码如下:
/*若栈不空,则删除S的栈顶元素,用e返回其值,并返回OK;否则返回ERROR*/
Status Pop(SqStack *S, ElemType *e){
if(S->top == -1){
return ERROR;
}
*e = S->data[S->top]; //将要删除的栈顶元素赋值给e
S->top--; //栈顶指针减一
return OK;
}
- 指针类型的参数允许函数直接修改函数外部变量的值。在
Pop
函数中,将栈顶元素的值赋给指针e
所指向的变量,实际上是在修改函数外部的变量。 - 这样,在调用
Pop
函数后,函数外部就可以直接使用这个变量来获取栈顶元素的值,方便了数据的传递和使用。