Это пример битового поля - каждая переменная с ":" представляет определенное количество битов целого числа. Это битовое поле объединяется, чтобы позволить разным битовым позициям именоваться по-разному в зависимости от контекста.
Вы хотели бы получить доступ к одному члену профсоюза для ясности и для обозначения цели вашего кода - это хороший способ самодокументирования кода путем создания значимых имен вместо чего-то бессмысленного, например "бит 4".
Перечитайте ваш вопрос - разница между ними в том, что один использует именованные структуры, а другой - нет. В первом случае к элементам структур можно получить доступ без ссылки на элемент структуры ("."), Поскольку у них нет имени. Во втором он объявляет структуру с именем, поэтому используется ссылка на член структуры. На мой взгляд, второе более понятно, но первое более лаконично. Это вопрос стиля и предпочтений.