//Stack.c
//Unofficial Practice Practical Exam
//Created by Michael Simarta
#include <stdlib.h>
#include <stdio.h>
#include <assert.h>
#include "Stack.h"
#define MAX 100
typedef struct _stack {
char letters[MAX];
int length;
} stack;
int top (Stack s){
assert (s->length > 0);
return s->letters[s->length-1];
}
void pop (Stack s) {
assert (s->length > 0);
s->length--;
}
void push (Stack s, char character) {
assert (s->length < MAX);
s->letters[s->length] = character;
s->length++;
}
int length (Stack s) {
return s->length;
}
Stack newStack(void) {
Stack new = malloc (sizeof (stack));
assert (new != NULL);
new->length = 0;
new->letters[0] = '\0';
return new;
}
Download file:
Stack.c
(772 bytes)