谁能解释一下这段C语言

来源:百度知道 编辑:UC知道 时间:2024/06/05 06:20:30
typedef struct{
StElem *base;
StElem *top;
int stacksize;
} SqStack;

typedef struct{
int front;
int rear;
QuElem *base;
} SqQueue;

typedef int status;

status InitStack(SqStack *s)
{
s->base=(StElem *)malloc(GARAGESIZE*sizeof(StElem));
if(!s->base) exit(OVERFLOW);
s->top=s->base;
s->stacksize=GARAGESIZE;
return OK;
}

status Push(SqStack *s,StElem e)
{
if(s->top-s->base==s->stacksize) return ERROR;
*s->top++=e;
return OK;
}

status Pop(SqStack *s,StElem *e)
{
if(s->top==s->base) return ERROR;

这个是堆栈和队列两种数据结构的基本操作。
typedef struct{
StElem *base;
StElem *top;
int stacksize;
} SqStack;
这个是堆栈的数据结构表示,包括base基址指针,top栈顶指针和stacksize堆栈长度,下面的函数status InitStack(SqStack *s)是初始化一个堆栈,push是入栈操作,pop是出栈操作。
typedef struct{
int front;
int rear;
QuElem *base;
} SqQueue;
是队列的数据结构表示,status InitQueue(SqQueue *Q)函数初始化队列,
这个程序不完整,是数据结构的一些基本操作。