<p>Does anyone know of any C container libraries? I am looking for something which gives standard implementations of linked lists, arrays, hash tables etc, much in the same way as the C++ STL does. Key concerns are:</p>

<ol>
<li>Client code should be able to create containers for multiple different data types without modifying the library.</li>
<li>The interface for creating and using the containers should be intuitive.</li>
</ol>

Chuck Falconer
has a decent hash library written in C that includes a C++ interface, click on hashlib.zip on the webpage to download.
Ben Pfaff
has very nice and extremely well-documented binary and balanced tree library,
GNU libavl
, that implements most major tree structures including binary search trees, AVL trees, red-black trees and threaded versions of each.
libavl is licensed under the LGPL (as of version 2.0.3), hashlib is GPL.
I'm not sure what you are looking for as far as arrays and linked lists go as the former is supported directly by the language and the latter is generally trivial enough to implement without warranting a library.