One of the appeals to higher level languages is that hash tables are easy to use. While they might be easy to use, they often come with significant costs
uthash is a well designed and well implemented hash table library written in 2006 by Troy D Hanson (@troydhanson) that brings the ease of hash tables to the speed of C.
I've done a few things with it at bit.ly and I'm excited about how easy it is to use. One good example is how to code an in-memory LRU cache in less than 50 lines of C code