title: Comparing Char* to Enum variable in C
body: <p>So I'm trying to utilize Enumerated types in C for the first time. So I have an Enumerated "variable?" declared and I also have a struct which has a variable of the Enumerated type(among other things). Finally I have a static array for which there is an element containing each of the enum "types?" in the same order they were declared. I am hoping to use the enum type to act as an index for the array. </p>
  
  <p>So my problem is that I need to somehow relate a char* variable to the enumerated type. If I KNOW that the Char* variable is one of the enum types, is there some way to assert that without having to look at each char to determine which specific enum"option" it is?</p>
  
  <p>Example:</p>
  
  <pre><code>enum example = {abc,def}
  struct _strExample {
         enum example letters;
         ....
  };
  typedef struct  _strExample strEx;
  static strEx Table[2] = {
        {abc,...}
        {def,...}
  };
  //Given char* "abc" , want either example.abc or 0 ( correct index of table) 
  </code></pre>
  
  <p>So given the char* "abc"(does not need to be char*), is there a simple way to get either the correct enum "type?"(abc or def)or the correct index of the table? I know that I could check all the individual chars in the char* and manually determine which enumerated "type?" it is, but I am going to be working with a very large set of enumerated variables and this kind of thing is exactly what I was trying to avoid. any help or advice you guys could give on enumerated types and/or my design would be most appreciated.</p>