Ahoj,
tento problém jsem nakonec vyřešila pomocí ukazatele na strukturu, který ukazuje v paměti na pole (nad to píšu dobře). Zdá se mi to jako nejlepší řešení:
~typedef struct
{
int x;
uint16_t reserved;
uint16_t reserved2;
} foo_t;;
int main(){
foo_t * foo;
int i;
uint8_t pole[20];
for (i = 0; i < sizeof(pole); i++)
{
pole[i] = 1;
}
foo = (foo_t *) (pole + sizeof(pole) - sizeof(foo_t));
foo->x=0xAA;
foo->reserved = 0xBB;
foo->reserved2 = 0xCC;
for (i=0; i<20; i++)
printf("%x ", pole[i]);
printf("\n");
return 0;
}