当前位置:我的异常网» C语言 » []关于程序产生一个访问违例(段错误)
[]关于程序产生一个访问违例(段错误)
www.myexceptions.net 网友分享于:2013-03-20 浏览:54次
[求助]关于程序产生一个访问违例(段异常)
程序中指出了出问题的语句 请各位帮忙看看 我不清楚到底哪错了
#include
#include
#include
#include
#define TRUE 1
#define FALSE 0
#define OK 1
#define ERROR 0
#define INFEASIBLE -1
#define OVERFLOW -2
#define STACK_INIT_SIZE 100
#define STACKINCREMENT 10
typedef int Status;
typedef char SElemType;
typedef struct {
SElemType *base;
SElemType *top;
int stacksize;
}SqStack;
Status InitStack(SqStack *S);
Status DestroyStack(SqStack *S);
Status ClearStack(SqStack *S);
Status StackEmpty(SqStack *S);
int StatusLength(SqStack *S);
Status GetTop(SqStack S, SElemType *e);
Status Push(SqStack *S, SElemType e);
Status Pop(SqStack *S, SElemType *e);
Status StackTraverse(SqStack S, Status ( *visit)());
Status main(int argc, char *argv[])
{
SqStack *stk;
Status d;
InitStack(stk);
DestroyStack(stk);
printf( "Press ENTER to continue...\n ");
getchar();
return OK;
}
Status InitStack(SqStack *S)
{
S-> base = (SElemType *)malloc(STACK_INIT_SIZE * sizeof(SElemType));
/*调试中这句出现问题*/
if(!S-> base)
{
printf( "Not Enough Memory!\n ");
exit(OVERFLOW);
}
S-> top = S-> base;
S-> stacksize = STACK_INIT_SIZE;
return OK;
}
文章评论