A hash table data structure in C