Supponiamo di questo codice:La trasmissione di una matrice di byte a un puntatore di struct dipende da endianness o dall'allineamento della memoria?
unsigned char list[3] = { 1, 2, 3 };
struct _struct{
unsigned char a;
unsigned char b;
unsigned char c;
} *s;
s = (_struct *) list;
Posso supporre che sempre s->a == 1, s->b == 2, s->c == 3
?
Oppure dipenderà dalla endianità del sistema o dall'allineamento della memoria?
È sì che può presumere che sia come il suo esempio, o sì, dipende dall'architettura della macchina? –
"Sì, dipende dal sistema ..." –
Pensavo che endianness eseguisse solo i tipi con più di 1 byte e poiché si tratta di una struttura e non vengono utilizzati sindacati o tipi più grandi, sarebbe comunque sicuro? –