9

In Python it's easy:

x = {}
x['USD'] = "Dollars"
x['CLP'] = "Pesos"

or

y = {'lat': 23.678900, 'lng': 121.451928, 'name': "Sin City"}

I think most of these kinds of problems have been solved, so where can I get information about dictionaries in C? I do not want to reinvent the wheel.

How do I implement a dictionary in C?

1
  • 1
    You may wish to read up about Hash Tables: en.wikipedia.org/wiki/Hash_table it's a pretty important data structure, and understanding how they work, as well as the benefits (and cons) of using one is really important and will give you a better understanding to the hows and whys of python dictionary. Commented Jul 17, 2010 at 1:50

4 Answers 4

2

glibc provides hcreate, hsearch, and hdestroy.

Sign up to request clarification or add additional context in comments.

Comments

2

They are called hash tables or hash maps.

There are lots of std ones for C++.

See Simple hash functions

Comments

1

All your questions are answered here.

The idea: use a hash function avoiding collisions to use them as an index.

Comments

0

Hash tables are fine. If you want to stick to standard C library functions, there's also bsearch which is good for constant lookup dictionaries, or dynamic dictionaries in conjunction with qsort.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.