C implementation of a dictionary ADT