关于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]