求帮忙!代码为啥会报错?
题目:将编号为0和1的两个栈存放于一个数组空间V中,栈底分别处于数组的两端。当第0号栈的栈顶指针top等于-1时该栈为空,当第1号栈的栈顶指针top等于m时该栈为空。两个栈均从两端向中间增长。试编写双栈初始化,判断栈空、栈满、进栈和出栈等算法的函数。双栈数据结构的定义如下:
Typedef struct
{int top,bot; //栈顶和栈底指针
SElemType *V; //栈数组
int m; //栈最大可容纳元素个数
}DblStack
#include<stdio.h>
#include<math.h>
#include<stdlib.h>
#include<string.h>
typedef struct{
int top,bot;
SElemType*V;
int m;
}
Status Init_Stack CDbl(Stack &s,int m){
s.V=new SelemType;
s.bot=-1;s.bot=m;
s.top=-1;s.top=m;
return OK;
}
int IsEmpty(DblStack s,int i){
return s.top==s.bot;
}
int IsFull(DblStack s){
if(s.top+1==s.top);return 1;
else return 0;
}
void DblPush(DblStack &s,SElemType x,int i)
{
if(IsFull(s)) exit(1);
if(i==0)s.V[++s,top]=x;
else s.V[--s.top]=x;
}
int Dblpop
{
if(IsEmpty(s,i))return 0;
if(i==0)s.top--;
else s.top++;
return 1;
}
}
问题:为什么上面的代码会出现报错,我是错在什么地方??? 那个红色字体就是报错的地方
各位大神帮帮忙看一下,谢谢 太绿了。。。 coxixixixny 发表于 2020-4-1 17:41
那个红色字体就是报错的地方
各位大神帮帮忙看一下,谢谢
那个SElemType 和*V应该有个空格吧 dlnb526 发表于 2020-4-1 17:50
同意楼上,类型名和变量名之间要有空格~
这是C/C++,不存在这个说法
#include <stdio.h>
int main(void) {
int a = 1;
int*p=&a;
printf("%d\n", *p);
}
人造人 发表于 2020-4-1 18:09
这是C/C++,不存在这个说法
这个代码是需要加在我得代码前面吗
qiuyouzhi 发表于 2020-4-1 17:45
那个SElemType 和*V应该有个空格吧
我加了空格,还是报错。。。。 coxixixixny 发表于 2020-4-1 18:17
这个代码是需要加在我得代码前面吗
不是 人造人 发表于 2020-4-1 18:18
不是
就是要仿照你的代码那样的格式写是吗
人造人 发表于 2020-4-1 18:18
不是
不知道为啥会一直在那个地方报错,不太懂。。。 coxixixixny 发表于 2020-4-1 18:20
不知道为啥会一直在那个地方报错,不太懂。。。
SElemType这个是什么? 人造人 发表于 2020-4-1 18:29
SElemType这个是什么?
题干说的栈的数组
页:
[1]