 

   ,      -
 . ,      32-
 .

struct animal struct {

char dog;               /* 1  */

unsigned long cat;      /* 4  */

unsigned short pig;     /* 2  */

char fox;               /* 1  */
}; .

       ,    
 .      , -
   .

struct animal struct {

char dog;               /* 1  */

u8 _pad0[3];           /* 3  */

unsigned long cat;      /* 4  */

unsigned short pig;     /* 2  */

char fox;               /* 1  */

u8 _padi;              /* 1  */
};

    ,    -
   .     -
    ,    cat  
4- .      
 .   ,    
           
 .

  ,   sizeof (foo_struct)  -
 12        32- -
 .       ,
   .

      ,   -
 .      
     , , 
 .

struct animal_struct {

unsigned long cat;      /* 4  */

unsigned short pig;     /* 2  */

char dog;       /* 1  */

char fox;       /* 1  */
};

     8 .     -
        -

398  19