顺序存储结构(存储数据为字符串)

#include <stdlib.h>
#include <string.h>

#define MAX 200

// 栈定义
typedef struct {
    char* str[20];
    int top;
} Stack;

void push(Stack* s, const char* val)
{
    s->str[++(s->top)] = malloc(strlen(val) + 1);
    strcpy(s->str[s->top], val);
}

void pop(Stack* s)
{
    if(isempty(s)){
        return;
    }
    s->top--;
}

bool isempty(Stack* s)
{
    return s->top == -1;
}

char* top(Stack* s)
{
    return s->top >= 0 ? s->str[s->top] : NULL;
}