STL map impl. in C

Hi--

Is it possible to index an array using floating point numbers instead of integers (0 through n)? I have an array M in which one of the indices is a floating point number. Previously, I used a dirty work around for conversion of this index into an int (I found out that this is causing a loss in accuracy).

map<> template in STL can be used to index arrays using strings, floats etc. Is there any implementation of map<> in C? Any help would be appreciated......