// datatypes typedef unsigned long charPointer; typedef union Memory_u Memory; union Memory_u{ char character; unsigned int size; unsigned long address; }; // Functions Memory* initializeHeap(unsigned long size); void dumpHeap(Memory* heap, int size); charPointer charMalloc(Memory* heap, unsigned int size); void charFree(Memory* heap, charPointer address);