C++栈底问题

#include<stdio.h>
#include<iostream.h>  
#include<stdlib.h> 
#define MAXSIZE 100
typedef struct{
int data;
} SElemType;
typedef struct 
{
SElemType *base;
SElemType *top;
int stacksize;

}SqStack;


void init(SqStack *S);
int push(SqStack *S,int val);

void traverse(SqStack *S);


void main()
{
SqStack S;
init (&S);
push(&S,5);
push(&S,9);
push(&S,8);
push(&S,10);
traverse(&S);
}

void init(SqStack *S){    
S->base= new SElemType[MAXSIZE];
S->top=S->base;
S->stacksize=MAXSIZE;
}
int push(SqStack *S,int val)  //第1个方法.


    S.top->data=val;

S.top++;

 return 1;
}
void traverse(SqStack *S)
{  int e;
SElemType *p;

p=S->base;                               

e=p->data;  

printf("%d\n",e);
    return;
}

          这样写为什么我的栈底没有数据,把 S.top->data=val;  S.top++;  位置调换下栈底就有数据了 可是这样说不通,

栈底指针和栈顶指针一开始我是指向同一个地方啊. 求大佬教教 谢谢

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值