Zgodnie z moją wiedzą, Domyślnie wyrównanie 4-bajtowe zostanie wykonane. powiedziećdlaczego podszewka nie dzieje się w tym przypadku?
typedef struct
{
int data7;
unsigned char data8;
//3 -bytes will be added here.
}Sample1;
tak sizeof(Sample1)
będzie 8.
Ale następującej strukturze, dlaczego wyściółka nie stało ?.
typedef struct
{
unsigned char data1;
unsigned char data2;
unsigned char data3;
unsigned char data4;
unsigned char data5;
unsigned char data6;
}Sample2;
Ale rozmiarof (Próbka2) wynosi tylko 6. Ta próbka2 nie jest strukturą z wyrównaniem 4 bajtów?
EDIT ::
Zgodnie Wiki
wyrównanie danych oznacza wprowadzanie danych w pamięci offsetowego równa jakiejś wielokrotności rozmiaru tekstu, co zwiększa wydajność systemu ze względu na sposób CPU obsługuje pamięć.
Ale członkowie Sample2 nie będą wyrównani w wielokrotności dwóch prawej?
Dzięki.
dobre pytanie +1 – Angus