Hi Rathinavel
Presumably the compiler is putting var2 to start at an aligned long word boundary and so skipping 2 bytes at the end of the Var1 array. Normally there will be a compiler setting allowing you to define whether long words are aligned to such boundaries.
If the exact ordering of the variables in the struture is not critical you could also put the long word variable to the top of the structure so that it is started at an aligned address and the bytes of the following arrays will not have to be aligned. This is a general programming tip for processors where the alignment is fixed and can not be controlled by the compiler - start structures, local variables etc. in the order largest first und finish with smallest (bytes) so that the compiler can make the best of the memory space without unnecessary holes.
Regards
Mark Butcher
www.mjbc.ch