如何简化这段C代码?
我想简化C中的以下代码。C中是否有任何哈希表可以使其变得简单?例如 Python 中的“dict”。
int a, b, c, d ......
a = get_value_from_sth( A_NAME )
b = get_value_from_sth( B_NAME )
c = get_value_from_sth( C_NAME )
d = get_value_from_sth( D_NAME )
......
I want to simplify the following code in C. Is there any hash table in C to make it simple? For example "dict" in Python.
int a, b, c, d ......
a = get_value_from_sth( A_NAME )
b = get_value_from_sth( B_NAME )
c = get_value_from_sth( C_NAME )
d = get_value_from_sth( D_NAME )
......
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
不,C 没有像 Python 的 dicts 那样的内置哈希表类型。根据您的需要,您也许可以使用数组。
No, C does not have a built-in hash table type like Python's dicts. You may be able to get by with an array, depending on your needs.
查看glib 哈希表。不是“官方”或“内置”,但广泛使用并且尽可能接近 C 的标准哈希表实现。
Check out glib hash tables. Not "official" or "built in," but widely used and as close as you can get to a standard hash table implementation for C.
您需要创建一个函数来将 ptr 映射到数组中的值。
这就是 python 的做法。
http://docs.python.org/c-api/dict.html
我个人不打扰。是C。最好的解决方案仍然是丑陋的。
You will need to create a function to map a ptr to a value in an array.
This is how python does it.
http://docs.python.org/c-api/dict.html
Personally I do not bother. It's C. The best solution will still be ugly.