代码如下:
#include
#include
typedef struct
{
char *base;
char *top;
int stacksize;
}sqStack;
//
//创建一个栈
#define STACK_SIZE 100
void initstack(sqStack *stack )
{
stack->base = (char*)malloc( STACK_SIZE * sizeof(char));
if (!stack->base)
{
exit(0);
}
stack->top = stack->base;
stack->stacksize = STACK_SIZE;
}
//入栈操作
#define STACK_MORE 10
void Push(sqStack *stack , char c)
{
if (stack->top - stack->base > stack->stacksize)
{
stack->base = (char*)realloc(stack->base , (stack->stacksize + STACK_MORE) * sizeof(char));
if (!stack->base)
{
exit(0);
}