title: Use of the : operator in C
body: <blockquote>
    <p><strong>Possible Duplicates:</strong><br>
    <a href="https://stackoverflow.com/questions/3029442/what-does-number-after-a-struct-field-mean">What does &lsquo;: number&rsquo; after a struct field mean?</a><br>
    <a href="https://stackoverflow.com/questions/2950029/what-does-unsigned-temp3-means">What does &lsquo;unsigned temp:3&rsquo; means</a>  </p>
  </blockquote>
  
  
  
  <p>I hate to ask this type of question, but it's really bugging me, so I will ask:</p>
  
  <p>What is the function of the : operator in the code below?</p>
  
  <pre><code>#include &lt;stdio.h&gt;
  
  struct microFields
  {
    unsigned int addr:9;
    unsigned int cond:2;
    unsigned int wr:1;
    unsigned int rd:1;
    unsigned int mar:1;
    unsigned int alu:3;
    unsigned int b:5;
    unsigned int a:5;
    unsigned int c:5;
  };
  
  union micro
  {
    unsigned int microCode;
    microFields code;
  };
  
  int main(int argc, char* argv[])
  {
    micro test;
    return 0;
  } 
  </code></pre>
  
  <p>If anyone cares at all, I pulled this code from the link below:
  <a href="http://www.cplusplus.com/forum/beginner/15843/" rel="noreferrer">http://www.cplusplus.com/forum/beginner/15843/</a></p>
  
  <p>I would really like to know because I know I have seen this before somewhere, and I want to understand it for when I see it again.</p>