这个具体要看你栈的结构定义的,如typedef int Element;typedef struct SSqStack //链栈{ Element elem; struct SSqStack *next;} SqStack,*PSqStack;那么,你的出栈可以为int Pop(PSqStack *S, Element *e) //栈顶元素出栈///也可以是int Pop(struct SqStack * MyStack, ElemType *e){ PSqStack p; if(!StackEmpty(*S)) { *e = (*S)->elem; p = *S; *S = (*S)->next; free(p); return 1; } else return 0;}