title: Byte size of union and struct
body: <pre><code> #include &lt;iostream&gt;
   using namespace std;
   typedef union {
              long i;
              int k[5];
              char c;
   } UDATE;
   struct data {
              int cat;
              UDATE cow;
              double dog;
    } too;
   UDATE temp;
   int main()
   {
          cout &lt;&lt; sizeof(struct data)+sizeof(temp) &lt;&lt; endl;
          return 0;
    }
  </code></pre>
  
  <p>under  ubuntu  18.04,  the answer to this question is 64, but I want to know how uDATE cow in struct is stored in memory, or the rules of  data storage?</p>