如何在C中表示类似Python的字典

时间:2010-07-17 01:44:43

标签: c dictionary

在Python中很简单:

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

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

我认为大多数这类问题都已解决,那么我在哪里可以获得有关C中字典的信息?我不想重新发明轮子。

如何在C中实现字典?

4 个答案:

答案 0 :(得分:2)

它们被称为哈希表或哈希映射。

C ++有很多标准版本。

请参阅Simple hash functions

答案 1 :(得分:1)

glibc提供了hcreate,hsearch和hdestroy。

答案 2 :(得分:0)

您的所有问题都已得到解答here

这个想法:使用哈希函数避免冲突将它们用作索引。

答案 3 :(得分:0)

哈希表很好。如果你想坚持标准的C库函数,那么bsearch也适用于常量查找字典,或者与qsort结合使用的动态字典。