我不确定这叫什么,所以我不知道谷歌要学习如何做到这一点。
我正在用 C 编程。
我有一个整数数组,我希望用字符命名;
例如
char s1[21] = "firsta1"
char s2[21] = "seconds2"
等等等等
然后是整数数组,假设整数数组称为索引。
index[s1] = 7
index[s2] = 14
等等等等
谢谢,
这被称为关联数组。在 shell 编程中,我们有关联数组。在 c++ 和 java 中,我们可以使用 Maps [HashMap, TreeMap] 来实现这一点
Map<Key,Value>
key用于标识值;键应该是唯一的。
我认为C没有为此提供内置功能。也许您可以通过其他方式实现这一目标。
您创建这些字符串 s[21]="str" ... 将其传递给某个函数,例如哈希。
hash(char *str)
{
// Keep a cache (a table here its array)
lookup the string in table;
if(present)
return index;
else
store str in table with appropriate index;
}
利用
array[hash(str)]
做你想做的事。这是我的想法,可能还有其他一些最好的方法。或某些库(例如:Boost)可能具有关联数组。
您正在寻找哈希映射或哈希表(同一事物的两个名称)。这些不是数组,即使它们在某些语言中被错误地命名(我看着你,PHP)。根据定义,数组是一个内存区域,该区域使用该区域的偏移量进行索引,这意味着您必须使用数字对其进行索引。
哈希映射在查找键之前对键应用哈希函数,因此它们将字符串键转换为数字。