I've got some code in C# that uses the dictionary data structure to store a lot of information. All this data was put into a file for easy transfer. However, now I need to use that same information in a C program.

The dictionary has a key of long int with data of type double.

From all I've been able to tell, this is best implemented in C with a hash table (since a dictionary is just a specialized hash table anyway).

So here are my problems. First, I have no idea how many entries are in this table. I do know that, once it's read into the C hash table, it won't have to be altered or added to (for now, at least). So I definitely need something that will dynamically change sizes as I read it in from the file.
My second problem is that I haven't coded in C since 1998 (and most of my work for the past 3 years has been all in C#). I tried searching for some examples, but many of them were either hash tables for very specific purposes different from mine or I was unable to tell how exactly to alter things to do what I need.

With that second problem especially in mind, how would I go about setting up a hash table? Or is there a better way to implement this table?