卷不动 发表于 2022-1-8 20:48:18

关于C语言写栈的问题

楼主写入栈函数的时候出现了以下问题
函数执行到申请空间那里就直接退出了。
代码如下:
#define STACK_INIT_SIZE 100
typedef int SElemType;
typedef int Status;
typedef struct{
    SElemType *base;//栈底
    SElemType *top;//栈顶
    int stacksize;//当前已分配的存储空间
}sqStack;
Status InitStack(sqStack *S){
    //创建一个栈
    printf("0");//用作判断函数执行到哪里,执行到下一句就会直接退出
    S->base = (SElemType *)malloc(STACK_INIT_SIZE * sizeof(SElemType));

    if(!S->base){//如果分配不到空间
      exit(OVERFLOW);
    }
      S->top = S->base;
      S->stacksize = STACK_INIT_SIZE;

      return OK;
}
主函数
int main()
{
    sqStack *S;
    int E;
    int *e;
    e = E;
    InitStack(S);
    printf("%d",StackEmpty(S));
    DestroyStack(S);
    return 0;
}
页: [1]
查看完整版本: 关于C语言写栈的问题