Abstract Data Type Implementations - C