求教顺序栈指针有关问题

求教顺序栈指针问题这个是顺序栈读取栈顶元素的函数void Gettop(Sqstack S,Datatype* e){if( Stackempty(S

求教顺序栈指针问题
这个是顺序栈读取栈顶元素的函数
void Gettop(Sqstack S,Datatype* e)
{
if( Stackempty(S) )
{
printf("\n\t此栈为空,按任意键退出");
getch();
exit(ERROR);
}

*e = *(S.top-1);
}
其中*e = *(S.top-1)这句,S.top-1和--S.top一样么?
也就是说在这句代码里top指针是移向前一位了还是取top指针前一位的值给e,而top指针并没有变?
[解决办法]
s.top-1 ,移向前一位了,但是top指针没有改变.
如果是--s.top的话,不仅移了,并且改变了位置.
两者不一样的.