Возникла одна трабла по С. В UNIX я слабак, раньше программил под Вындовс. Может быть кто то сталкивался с этой проблемой. Мне нужно считать массив char в структуру. Делаю примерно так.char arr[100];
struct mystruct
{
char a, int b;
};
struct mystruct *st = (struct mystruct *)arr;
теперь &(st->a) будет = &arr[0], а &(st->b) = &arr[4]
а нужно что бы &(st->b) ссылался на &arr[1].
Как это сделать? Я знаю что в масдаях есть директива компилятора, которая выравнивает структуры по байтам. Как это сделать в gcc? Есть ли такая директива компилятора? Или может быть кто то знает другой эффективный способ корректного наложения структуры на массив?
Заранее благодарен за ответы.