What you would like to do is to map integers to strings.
How about an array?
const char *my_lovely_words[UCHAR_MAX];
Please stop reading here, try to write the program, and then you may continue.
my_lovely_words['a']="apple";
...
But I do not see how that would save you much keystrokes.
In C99 you can have named initialisers
const char *my_lovely_words[]={
['A']="dog",
['a']="apple",
};
Szabolcs
const char *my_lovely_words[] = { ... };
const char *p, str[] = "#Az";
int c;
...
if(p = strchr(str, c)) != NULL) printf("%c = %s\n", c,
my_lovely_words[p - str]);