На вопрос "зачем нам использовать битовые поля", при поиске в Google я обнаружил, что битовые поля используются для флагов. Теперь мне любопытно, разве это единственный способ практически использовать битовые поля? Нужно ли использовать битовые поля для экономии места?
Способ определения битового поля из книги:
struct {
unsigned int is_keyword : 1;
unsigned int is_extern : 1;
unsigned int is_static : 1;
} flags;
Почему мы используем int? Сколько места занято? Я запутался, почему мы используем int, но не short или что-то меньшее, чем int. Как я понимаю, в памяти занят только 1 бит, но не целое значение типа unsigned. Это правильно?