user-0 提问: 顺序栈代码对比，求大神找一下错误

回复:
user: user-1
content: 还有说一下#include"stdio.h"   #include"stdlib.h"这两个是系统头文件，c++代码规范里是最好是用#include<stdio.h>   #include<stdlib.h>，如果不是很了解""和<>的区别，可以自己百度下，从开始就养成良好的代码习惯

user: user-1
content: 一个是Sqstack s; 一个是Sqstack *s;

user: user-0
content: 换了一台电脑报的还是一样的错误。

user: user-0
content: 引用 13 楼 自信男孩的回复:[quote=引用 7 楼 菜菜初学者 的回复:] [quote=引用 6 楼 自信男孩的回复:]#include"stdio.h" #include"stdlib.h" //#include <stdbool.h> #define Maxsize 100 // 定义栈的最大容量 typedef int Datatype; typedef struct {     Datatype data[Maxsize]; // 定义存放栈元素的数组，定义栈中元素，Datatype为元素的数据类型     int top; // 定义栈指针，指向栈顶的位置 }Sqstack; void initstack(Sqstack *&L)/*初始化顺序栈*/ {     L = (Sqstack *)malloc(sizeof(Sqstack));     L -> top = -1; // 初始化栈指针top为-1，即为空栈 } int stackempty(Sqstack *L)/*判断顺序栈是否为空*/ {     //return (L->top = -1);     return (L->top == -1); } //void main() int main() {     //Sqstack s;     Sqstack *s;     printf("(1).初始化顺序栈;\n");     initstack(s);      printf("(2).判断顺序栈是否为空:");     if(stackempty(s))     {         printf("这是一个空顺序栈!\n");     }     else printf("这是非空顺序栈!\n"); }    供参考，修改如上～ 你好，还是不行啊。[/quote]  是不能编译还是不能运行？[/quote] 不能编译，有错误，跟图片一样。

user: user-0
content: 引用 12 楼 datoulaile123的回复:[quote=引用 11 楼 菜菜初学者 的回复:] 难道是我编译器的问题？你用的是VS？？我用VC++6.0的。 你上面的那份代码能编译过，那就表示没什么影响啊，毕竟代码基本差不多，下面这份还少一些代码[/quote] 下面代码应该不影响的，我用正确的代码，然后把下面那块注了好像也报错。

user: user-2
content: 引用 7 楼 菜菜初学者 的回复:[quote=引用 6 楼 自信男孩的回复:]#include"stdio.h" #include"stdlib.h" //#include <stdbool.h> #define Maxsize 100 // 定义栈的最大容量 typedef int Datatype; typedef struct {     Datatype data[Maxsize]; // 定义存放栈元素的数组，定义栈中元素，Datatype为元素的数据类型     int top; // 定义栈指针，指向栈顶的位置 }Sqstack; void initstack(Sqstack *&L)/*初始化顺序栈*/ {     L = (Sqstack *)malloc(sizeof(Sqstack));     L -> top = -1; // 初始化栈指针top为-1，即为空栈 } int stackempty(Sqstack *L)/*判断顺序栈是否为空*/ {     //return (L->top = -1);     return (L->top == -1); } //void main() int main() {     //Sqstack s;     Sqstack *s;     printf("(1).初始化顺序栈;\n");     initstack(s);      printf("(2).判断顺序栈是否为空:");     if(stackempty(s))     {         printf("这是一个空顺序栈!\n");     }     else printf("这是非空顺序栈!\n"); }    供参考，修改如上～ 你好，还是不行啊。[/quote]  是不能编译还是不能运行？

user: user-1
content: 引用 11 楼 菜菜初学者 的回复:难道是我编译器的问题？你用的是VS？？我用VC++6.0的。 你上面的那份代码能编译过，那就表示没什么影响啊，毕竟代码基本差不多，下面这份还少一些代码

user: user-0
content: 难道是我编译器的问题？你用的是VS？？我用VC++6.0的。

user: user-1
content: 引用 9 楼 菜菜初学者 的回复:我改成了Sqstack *s之后还是那个错误，换了机器也一样。应该就是代码问题了。找不出问题所在。 编译了下没问题啊，能编过啊

user: user-0
content: 我改成了Sqstack *s之后还是那个错误，换了机器也一样。应该就是代码问题了。找不出问题所在。

user: user-1
content: 引用 7 楼 菜菜初学者 的回复:你好，还是不行啊。 你这个是还有什么问题吗，你把Sqstack s;改成Sqstack *s;就能编译通过了啊，至于功能的话，你上面的那份代码有push等操作，你下面这份没有，你也加上这些代码不就行了

user: user-0
content: 引用 6 楼 自信男孩的回复:#include"stdio.h" #include"stdlib.h" //#include <stdbool.h> #define Maxsize 100 // 定义栈的最大容量 typedef int Datatype; typedef struct {     Datatype data[Maxsize]; // 定义存放栈元素的数组，定义栈中元素，Datatype为元素的数据类型     int top; // 定义栈指针，指向栈顶的位置 }Sqstack; void initstack(Sqstack *&L)/*初始化顺序栈*/ {     L = (Sqstack *)malloc(sizeof(Sqstack));     L -> top = -1; // 初始化栈指针top为-1，即为空栈 } int stackempty(Sqstack *L)/*判断顺序栈是否为空*/ {     //return (L->top = -1);     return (L->top == -1); } //void main() int main() {     //Sqstack s;     Sqstack *s;     printf("(1).初始化顺序栈;\n");     initstack(s);      printf("(2).判断顺序栈是否为空:");     if(stackempty(s))     {         printf("这是一个空顺序栈!\n");     }     else printf("这是非空顺序栈!\n"); }    供参考，修改如上～ 你好，还是不行啊。

user: user-2
content: #include"stdio.h" #include"stdlib.h" //#include <stdbool.h> #define Maxsize 100 // 定义栈的最大容量 typedef int Datatype; typedef struct {     Datatype data[Maxsize]; // 定义存放栈元素的数组，定义栈中元素，Datatype为元素的数据类型     int top; // 定义栈指针，指向栈顶的位置 }Sqstack; void initstack(Sqstack *&L)/*初始化顺序栈*/ {     L = (Sqstack *)malloc(sizeof(Sqstack));     L -> top = -1; // 初始化栈指针top为-1，即为空栈 } int stackempty(Sqstack *L)/*判断顺序栈是否为空*/ {     //return (L->top = -1);     return (L->top == -1); } //void main() int main() {     //Sqstack s;     Sqstack *s;     printf("(1).初始化顺序栈;\n");     initstack(s);      printf("(2).判断顺序栈是否为空:");     if(stackempty(s))     {         printf("这是一个空顺序栈!\n");     }     else printf("这是非空顺序栈!\n"); }    供参考，修改如上～

user: user-0
content: 引用 3 楼 datoulaile123的回复:还有说一下#include"stdio.h"   #include"stdlib.h"这两个是系统头文件，c++代码规范里是最好是用#include<stdio.h>   #include<stdlib.h>，如果不是很了解""和<>的区别，可以自己百度下，从开始就养成良好的代码习惯 好的，谢谢你的提醒哦。

user: user-0
content: 引用 2 楼 datoulaile123的回复:一个是Sqstack s; 一个是Sqstack *s; 你好，你知道第二个代码该怎么改吗？