Мужики и дамы!!!
Подскажите пожалуйста.
В чем проблема.....
Есть масив данных типа 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 не один байт а два.....
Подскажите пожалуста есть ли возможность указать компилятору правильно выделять память или я ошибаюсь гдето?