Załóżmy ten kod:Przesyłanie tablicy bajtów do wskaźnika struktury zależy od dokładności lub wyrównania pamięci?
unsigned char list[3] = { 1, 2, 3 };
struct _struct{
unsigned char a;
unsigned char b;
unsigned char c;
} *s;
s = (_struct *) list;
mogę założyć, że zawsze s->a == 1, s->b == 2, s->c == 3
?
Lub zależy to od endianiczności systemu lub wyrównania pamięci?
Czy tak, może przyjąć, że jest to jego przykład, czy tak, to zależy od architektury maszyny? –
"Tak, to będzie zależało od systemu ..." –
Myślałem, że endianness dotyczy tylko typów powyżej 1 bajtu, a ponieważ jest to struktura i nie są używane żadne związki lub większe typy, to czy byłbym bezpieczny? –