Как создать словарь в C? - PullRequest
       7

Как создать словарь в C?

7 голосов
/ 15 октября 2010

Я программирую микроконтроллер на C и как часть этого хочу отображать определенные буквы на 7-сегментном дисплее.Каждая буква имеет соответствующий номер, который отображает букву на 7-сегментном дисплее.В этом нет никакой реальной картины, потому что число просто получается путем сложения битов на 7-сегментном дисплее, которые необходимы для отображения буквы, так что было бы очень хорошо, если бы я мог создать какой-то словарь для этого.

Если бы я использовал C # или что-то еще, я бы просто сделал словарь, а затем добавил буквы в качестве ключей и цифры в качестве значений, но, насколько я знаю, я не могу сделать это в C. Есть ли другой способделать это или делать, я должен просто написать функцию типа int displayletter(char letter), которая использует кучу операторов if для возврата правильных чисел?

Ответы [ 2 ]

6 голосов
/ 15 октября 2010

Вы можете создать массив

 int values[26];

и заполните его значениями для каждой буквы, однако они рассчитываются

Затем создайте функцию, которая принимает символ и возвращает int

int GetValueFromChar(char c)
{
    return values[c - 'A'];
}

Это упрощенно, поскольку предполагается, что вы будете использовать только прописные буквы в наборе символов ASCII, но вы должны понять это.

0 голосов
/ 15 октября 2010

Проще всего было бы просто использовать функцию и оператор switch ... Я считаю, что для этой цели оператор switch был бы очень эффективным. Я также рекомендую использовать библиотеку Джуди, чтобы использовать ее для эффективного картирования, но это излишне для этого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...