С ассоциативными полями (так называемыми картами) вы можете выполнять присваивание значений 1: 1 другим значениям, не используя излишнюю память. Элементами ассоциативного поля являются пары ключ-значение, благодаря чему имеется быстрый доступ к значению через ключ.
Ассоциативное поле объявляется аналогично обычному полю, но тип данных ключа записывается в квадратных скобках:
int m[float]; // maps floats to ints
float x[int64]; // maps int64s to floats
char[30] s[ char[] ] // maps strings (of unspecified length) to strings of length < 30
Если указан тип ключа char [] , все символьные поля (любого размера) могут использоваться в качестве значений ключа. В итерации переменная цикла также должна быть объявлена как char [] . Ключевые сравнения, например чтобы определить последовательность итераций, затем выполняются сравнения строк символов, при этом не используются алгоритмы, специфичные для страны.
char [] - единственный тип поля, который может использоваться в качестве типа ключа. Помните, что вы не можете объявлять переменные или параметры типа char [] , за исключением переменных цикла в итерации.
Связь между строками:
char[30] namen[char []];
strncpy(namen["Max"], "Mustermann", 30);
strncpy(namen["Vector"], "Informatik", 30);
for (char[] mykey : namen)
{
write("%s is mapped to %s", mykey, namen[mykey]);
}