回 帖 发 新 帖 刷新版面

主题:[讨论]堆栈救命啊!!!!

#include "stdio.h"
#include "stdlib.h"
#define SElemType int
#define STACKINCREMENT 10
#define STACK_INIT_SIZE  100
typedef struct
{
    SElemType *base;
    SElemType *top;
    int stacksize;
}SqStack;
void InitStack(SqStack *s);
void main()
{
    SqStack L;
    InitStack(SqStack &L);

}
void InitStack(SqStack *S)
{
    S.base=(SElemType *)malloc(sizeof(SqStack));
    S.top=S.base;
    S.stacksize=STACK_INIT_SIZE;
}
我就想实现一个栈的初始化,就是搞不好!

回复列表 (共2个回复)

沙发


你到底想用链表做,还是想用数组,
看你定义 #define STACK_INIT_SIZE  100 这里明明想说用数组,
但看你下面却都是使用链表的,简直就乱套了。 你再看看书, 再来做把。

板凳


#include "stdio.h"
#include "stdlib.h"
#define SElemType int
#define STACKINCREMENT 10
#define STACK_INIT_SIZE  100
typedef struct
{
    SElemType *base;
    SElemType *top;
    int stacksize;
}SqStack;
void InitStack(SqStack *s);
void main()
{
    SqStack L;
    InitStack(&L);//这里只是传值不需要定义

}
void InitStack(SqStack *S)//传递的是指针、应该用->去访问成员
{
    S->base=(SElemType *)malloc(sizeof(SqStack));
    S->top=S->base;
    S->stacksize=STACK_INIT_SIZE;
}

我来回复

您尚未登录,请登录后再回复。点此登录或注册