首页 新闻 会员 周边

链式栈的编写 提示写入访问权限冲突

0
[已关闭问题] 关闭于 2016-11-10 21:29

程序如下  大神们看看怎么修改啊

//动态栈
#include<iostream>
using namespace std;
typedef struct node
{
int elem;
node*pnext;
}node;
typedef struct stack
{
node *top; //栈顶
node*buttom; //栈底
int l; //元素数目
}stack;
void initial(stack *S) //初始化空栈
{
S->buttom = new node;
S->buttom = S->top;
S->top->pnext = NULL;
S->l = 0;
}
void push(stack *S, int j) //入栈
{
node *B;
B = new node;
B->elem = j;
B->pnext = S->top;
S->top = B;
S->l++;
}
int pop(stack *S) //出栈
{
node*q, *p;
int j;
q = S->buttom;
p = S->top;
if (q != p)
{
j = p->elem;
S->top = p->pnext;
delete p;
S->l--;
}
return j;
}
int main()
{
stack A;
initial(&A);
cout << A.l;
push(&A, 1);
cout << A.l;
//push(A, 2);
//push(A, 3);
//pop(A);
system("pause");
return 0;
}

问题补充:

引发了异常: 写入访问权限冲突。
S->top 是 0xCCCCCCCC。

调试时是这么提示的

巅峰桃的主页 巅峰桃 | 菜鸟二级 | 园豆:202
提问于:2016-11-09 10:48
< >
分享
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册