The structure is,
struct { 
    char a;
    short b; 
    short c; 
    short d; 
    char e;
} s1;
size of short is given as 2 bytes size of char is given as 1 bytes It is a 32-bit LITTLE ENDIAN processor
According to me, the answer should be:
1000    a[0]
1001    offset
1002    b[0]
1003    b[1]
1004    c[0]
1005    c[1]
1006    d[0]
1007    d[1]
1008    e[0]
size of S1 = 9 bytes
but according to the solution, the size of S1 is supposed to be 10 bytes
 
     
     
    