如何在C中创建字典?

时间:2010-10-15 07:30:29

标签: c dictionary

我正在用C语言编写一个微控制器,并且作为其一部分想要在7段显示器上显示某些字母。每个字母都有一个相应的数字,使7段显示显示字母。它没有真正的模式,因为这个数字只是通过将7段显示中的位相加来显示字母,所以如果我能创建某种字典来实现这一点真的很好。

如果我正在使用C#或其他东西,我只需要制作一个字典,然后将字母作为键和数字添加为值,但据我所知,我不能在C中执行此操作。还有其他方法可以做或者我应该写一个像int displayletter(char letter)这样的函数,它使用一堆if语句来返回正确的数字?

2 个答案:

答案 0 :(得分:6)

你可以创建一个数组

 int values[26];

并用每个字母的值填充它,但是它们是计算的

然后创建一个带字符的函数并返回一个int

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

这很简单,因为它假设你只使用ASCII字符集中的大写字母,但你应该明白这一点。

答案 1 :(得分:0)

最简单的方法就是使用函数和switch语句......我相信为此目的,switch语句非常有效。我还把Judy库作为一个很好的用于高效映射的库,但它对此有点过分。