近期学习数据结构栈相关的知识时,用代码实现遇到最多的问题就是入栈操作时候报标题所述错误,由于代码水平太次,找了很多网上的解决方案未能解决,请求各位大佬帮助。代码如下:
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<Windows.h>
#include<malloc.h>
#define MAXSIZE 20
typedef struct {
char* base;
char* top;
int stacksize;
}Sqstack;
void Initstack(Sqstack& S) {
S.base = new char[MAXSIZE];
if (!S.base) {
printf("分配失败");
}
S.base = S.top;
S.stacksize = MAXSIZE;
}
void Push(Sqstack& S, char e) {
if (S.top - S.base == S.stacksize) {
printf("栈满");
return;
}
*S.top = e;
S.top++;
}
void Pop(Sqstack& S) {
if (S.base = S.top) {
re