#define STACK_SIZE 100
typedef struct {
int *value;
int count;
} MyStack;
MyStack* myStackCreate() {
MyStack *stack = malloc(sizeof(MyStack));
memset(stack, 0, sizeof(MyStack));
stack->value = malloc(sizeof(int)*STACK_SIZE);
memset(stack->value, 0, sizeof(MyStack));
return stack;}
void myStackPush(MyStack* obj, int x) {
obj->value[obj->count++] = x;
}
int myStackPop(MyStack* obj) {
if(obj->count<=0) return -1;
int temp = obj->value[--obj->count];
return temp;}
int myStackTop(MyStack* obj) {
if(obj->count<=0) return -1;
return obj->value[obj->count-1];
}
bool myStackEmpty(MyStack* obj) {
if(obj->count<=0) return true;
return false;}
void myStackFree(MyStack* obj) {
free(obj->value);
free(obj);
}