допустим ,есть структура
struct disconn{
unsigned char code;
unsigned char reason[512];
}
struct disconn d;
recv(sock,&d,msg_size,0);
какие есть способы избежать данной гадости? я вижу 2: или задавать размеры полей структур такого размера, чтобы выравнивание не случалось нигде, или данные вручную склеивать в массив байт, что приводит к адресной арифметике, а её как раз не хочется. какие еще варианты возможны?