title: Is a struct's address the same as its first member's address?
body: <p>Consider I have Struct like the following:</p>
  
  <pre><code>struct Bitmask
  {
    unsigned char payload_length: 7;
    unsigned char mask: 1;
    unsigned char opcode: 4;
    unsigned char rsv3: 1;
    unsigned char rsv2: 1;
    unsigned char rsv1: 1;
    unsigned char fin: 1;
  };
  
  const char* payload = "Hello";
  const size_t payload_length = strlen(payload);
  
  Bitmask* header = new Bitmask();
  header-&gt;fin =1;
  header-&gt;rsv1 = 0;
  header-&gt;rsv2 = 0;
  header-&gt;rsv3 = 0;
  header-&gt;opcode = 1;
  header-&gt;mask = 0;
  header-&gt;payload_length = payload_length;
  
  iovec iov[2];
  iov[0].iov_base = (char*)header;
  iov[0].iov_len = sizeof (header);
  iov[1].iov_base = (char *)payload;
  iov[1].iov_len = strlen(payload);
  
  ACE_DEBUG ((LM_DEBUG,
              ACE_TEXT ("iov[0].length = %d\niov[1].length = %d\n"),
              iov[0].iov_len,
              iov[1].iov_len));
  
  size_t bytes_xfered;
  client_stream_.sendv_n (iov, 2, 0, &amp;bytes_xfered);
  
  cout &lt;&lt; "Transfered " &lt;&lt; bytes_xfered &lt;&lt; " byte(s)" &lt;&lt; std::endl;
  </code></pre>
  
  <p>I am initializing it with appropriate values. Finally, I want to convert the struct into char* so I can append my payload (which is char* message) and send it over a websocket connection. </p>