title: Cannot take address of bit-field ‘ihl’ or any bit field
body: <p>I have this helper function that I like to define so it looks like for one specific function</p>
  <pre><code>int change_int_val(unsigned int * from,unsigned int *to)
  {
      *to=*from;
      return 0;
  }
  </code></pre>
  <p>So actually it assign the <code>from</code> to <code>to</code>  now the problem is I want to pass all  fields that I have in my struct so assume I  have <code>struct iphdr</code> from networking and I want to assign value 5 to ihl which is 4 bit size defined as <code>unsigned int ihl:4;</code> now if I call the above function like this</p>
  <pre><code> change_int_val((unsigned int *)5,(unsigned int *)(&amp;ip-&gt;ihl));
  </code></pre>
  <p>I get error that</p>
  <pre><code>tcp_work.c:45:59: error: cannot take address of bit-field ‘ihl’
     45 |         change_int_val((unsigned int *)5,(unsigned int *)(&amp;ip-&gt;ihl));
  </code></pre>
  <p>So can I make this helper function like the one above and escape this limitation that pointer size 1 byte issue with fields that are less than 1 byte in my case as I like to pass the address of <code>iphdr-&gt;ihl</code> to my helper function <code>change_int_val</code></p>