关于调用函数的参数的问题
typedef int Status;typedef char SElemType;typedef struct SqStack_t{ SElemType *top; SElemType *base; Status stack_size;}SqStack, *LPSqStack;Status InitStack(SqStack S){ S.base = (SElemType *)malloc(STACK_INIT_SIZE * sizeof(SElemType)); if (!S.base) { printf("Memory allocation failure!\n"); exit(OVERFLOW); } S.top = S.base; S.stack_size = STACK_INIT_SIZE; return OK;}Status GetTopElem(SqStack S, SElemType &e){ if (S.top == S.base) { printf("The stack is empty!\n"); return (ERROR); } else { e = *(S.top - 1); return (OK); }}Status Push(SqStack S, SElemType e){ if (S.top - S.base == S.stack_size) { S.base = (SElemType *)realloc(S.base,(S.stack_size + STACK_INCREMENT * sizeof(SElemType))); S.top = S.stack_size + S.base; S.stack_size += STACK_INCREMENT; } *S.top++ = e; return OK;}Status Pop(SqStack S, SElemType &e){ if (S.base == S.top) { printf("The stack is empty!\n"); return (ERROR); } else { e = *(--S.top); return (OK); }}Status StackEmpty(SqStack S){ if (S.top == S.base) return TRUE; else return FALSE;}