c语言错误c2228,C语言菜鸟,各位大神求解

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

error C2065: *top* : undeclared identifier error C2228: left of *.top* must have class/struct/union type

#define INITSIZE 100 //栈的存储空间初始分配量

#include

#include

typedef int ElemType;

typedef struct

{ int top; //栈顶指针

ElemType *base; //栈底指针,存放空间起始地址

int stacksize; //当前栈空间的长度

}sqstack;

void initstack(sqstack *S) //初始化栈S

{

S->base=(ElemType *)malloc(INITSIZE*sizeof(ElemType));

if(!S->base) exit (-1);

S->top=0; /*空栈标志*/

S->stacksize = INITSIZE;

}

int gettop(sqstack S,ElemType *e) //获取栈顶元素

{

if ( S.top==0 ) /* 栈空 */

{ printf("Stack is empty!\n");

return 0;

}

*e= S.base[top-1];

return 1;

}

int push ( sqstack *S , ElemType x ) //入栈

{

if (S->top == S->stacksize)

{ S->base=

(ElemType *)realloc(S->base,(S->stacksize+1)*sizeof(ElemType));

if(!S->base) exit(-1);

S->stacksize++;

}

S->base[S->top++] = x;

return 1 ;

}

int pop(sqstack *S, ElemType *e) //出栈

{

if (S.top==0)

{ printf("Stack is empty");

return 0;

}

*e=S->base [-- S->top ] ;

return 1;

}

int stackempty(sqstack S) //判断栈是否为空

{

if (S.top==0)

return 1 ;

else

return 0 ;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值