C - 如何散列创建映射用户定义的类型

问题描述

我正在尝试在用户定义的类型结构上用 C 创建一个哈希表(映射/字典)。我发现了很多使用整数或字符串作为键的例子,但是如何将用户定义的对象作为键呢?

我一直遵循的主要示例是 here

假设我有不同的结构,例如:

编辑:将第二个数据结构示例更改为更好的示例。

struct Point {
  double x;
  double y;
};

struct SomePersonInfo {
  char* a_first_name;
  char* a_last_name;
  float age;
  char* address;
};

在 C++ 中很容易:

#include <map>
std::map< SomePersonInfo,int>;
// Maybe we want to test if some person is in our data base
// Or assign a more complicated structure (personal info/salary/etc.) as the value

如何在 C 中散列这些结构?也许一个更好的问题是如何正确地散列......

或者如果有人有任何他们知道的好书/教程/文章

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)