Мужики и дамы!!!
Подскажите пожалуйста.
В чем проблема.....
Есть масив данных  типа UCHAR  ....скажем m_Buff  размером в 512 байт.
Его заполняю данными.
Мне нужно получить данные из масива в виде структуры с определенным смещением.
Скажем так.....
struct _SRTCT{
     USHORT   m1;
     USHORT m2;
     UCHAR   m3;
     USРORT   m4;
     USРORT   m5;
     UCHAR   m6;
}
скажем я хочу наложит структуру на буфер....
struct  _STRCT *   m_Struct;
m_Struct=(_STRCT *)(m_Buff+20);
далее я пытаюсь через структуру получить нужные мне данные.
USHORT  t1=m_Struct->m1;
USHORT  t2=m_Struct->m2;
UCHAR    t3=m_Struct->m3;
USHORT  t4=m_Struct->m4;
USHORT  t5=m_Struct->m5;
UCHAR    t6=m_Struct->m6;
вроде все проавильно? но вот в чем проблема.....
мне заранее известны приходящие данные и при отладке видно что первые 3 члена структуры правильные а далее происходит смещение и данные не соотвествуют реальности.....
Такое ощущение что компилятор резервирует в памяти для членов типа UCHAR не один байт а два.....
Подскажите пожалуста есть ли возможность указать компилятору правильно выделять память или я ошибаюсь гдето?  
