顺序栈一定要有top和base吗?

img

如果前面的代码是这样的,请问如何初始化顺序栈呢?这个和书上给的也不一样

栈底没有必要搞个函数吧,因为数组下标0就是栈底,栈顶的话,看你top咋初始化,top = 0,top就是top-1位置,top = -1,top在top位置。
至于你初始化参数部分我没咋看懂什么意思啊,为什么你用C语言语法,还要用C++引用。都用引用了直接用bool类型不过分吧

#define MAX 100
//#define OK 1
//#define ERROR 0
typedef int STDataType;

typedef struct Stack
{
    STDataType data[MAX];
    int top;
}ST;

bool StackInit(ST& st)
{
    //我觉得data都不用初始化,如果是用指针其实直接给个NULL就完成了
    //for (int i = 0;i < MAX;i++)
    //{
        //st.data[i] = 0;
    //}
    st.top = 0;
    //st.top = -1;

    return true;
}

老哥,你自己看看你贴的代码,你看的懂吗

S.top = 0;
return OK;