Что означают числа после двоеточия в полях структуры? Нигде больше такого не видел
Прочитал на обоих языках, но нифига не понял Что это всё значит?
Особенно вот это:
This example defines a two-dimensional array of structures named
screen
.
C
struct
{
unsigned short icon : 8;
unsigned short color : 4;
unsigned short underline : 1;
unsigned short blink : 1;
} screen[25][80];
The array contains 2,000 elements. Each element is an individual structure containing four bit-field members:
icon
,color
,underline
, andblink
. The size of each structure is 2 bytes.
Что даёт указание битов?
Ну без указания эта структура с 4 полями занимала бы больше места, как минимум 4 байта.
Почему 4? short
ведь 2 байта. 4 по 2 = 8 же
Можно на char
, uint8_t
и т.п. заменить, тогда по 1.
а при указании бит они меньше байта занимают, получается?