Hi,<br>I am recently reading the GMX src-code for some need. I notice there are many &#39;enum&#39; typy defination in the &#39;enums.h&#39; file. They are just like this:<br><br>...<br>enum {<br>  epbcXYZ, epbcNONE, epbcXY, epbcSCREW, epbcNR<br>
};<br><br>enum {<br>  etcNO, etcBERENDSEN, etcNOSEHOOVER, etcYES, etcANDERSEN, etcANDERSENINTERVAL, etcVRESCALE, etcNR<br>};<br>...<br><br>However in the standard C, enum type should be defined like &#39; enum enumtypename { Sum, Mon,...,Sat } enumname1 &#39; .  <br>
For the GMX code above I don&#39;t understand how it is work?<br><br>I also notice there is a note &#39; /* note: these enums should correspond to the names in gmxlib/names.c */&#39; , <br>...<br>const char *epbc_names[epbcNR+1]=<br>
{<br>  &quot;xyz&quot;, &quot;no&quot;, &quot;xy&quot;, &quot;screw&quot;, NULL<br>};<br><br>const char *ens_names[ensNR+1]=<br>{<br>  &quot;Grid&quot;,&quot;Simple&quot;, NULL<br>};<br>...  <br>I just don&#39;t know how the two files are matched <span class="enfont">automatically. Is any suggestion about this?</span><br>
<br><br><br><br>