title: assign value to array: array expression must be a modifiable lvalue
body: <p>In my c application, I want to use <code>Init_Message_Body()</code> to return a message with default set of 0. But it always causes <code>error: expression must be a modificable lvalue</code>.</p>
  <pre><code>typedef union Msg_body_u
  {
      uint8_t field[10][10];
  } Msg_body;
  
  Msg_body Init_Message_Body()
  {
      Msg_body body;
      uint8_t msg_field[10][10] = {0};
      body.field = msg_field;           ===&gt; expression must be a modifiable lvalue
      return body;
  }
  </code></pre>
  <p>Why this error happens?</p>