我一直在尝试用 c 在 dev c 上实现一个堆栈,这是我的代码
#include <stdio.h>
#include <stdlib.h>
#define stackinitsize 100
#define stackincrement 10
typedef struct {
char *base;
char *top;
int stacksize;
}sqstack,*s;
Status initstack(sqstack &s)
{
s.base=(char *)malloc(stackinitsize*sizeof(char));
if(!s.base) exit(OVERFLOW);
s.top=s.base;
s.stacksize=stackinitsize;
return OK;
}
void push(sqstack &s,char e)
{
if ((s.top-s.base)>=s.stacksize){
s.base=(char *)realloc(s.base,(s.stacksize+stackincrement)*sizeof(char));
if(!s.base) exit (OVERFLOW);
s.top=s.base+s.stacksize;
s.stacksize+=stackincrement;
}
*s.top++=e;
}
int main(int argc, char *argv[])
{
char e;
system("PAUSE");
return 0;
}
但它一直在说
error: syntax error before "s"
error: syntax error before '&' token
但是当我把它放在代码块上编译它时,它说
error: expected ';', ',' or ')' before '&' token
有人有想法吗?