ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Пятница
26 апреля
865911 Топик полностью
lloyd (28.08.2018 07:45, просмотров: 106) ответил Codavr на Захотел вывести поля структуры на отладочные выводы. Структура размером 1 байт из битовых полей. Структуры вообще допускают преобразование типа?
Структура у вас может отличаться по размеру от интегрального типа, как вы себе представляете преобразование? "Правильным" способом является: my_struct a; uint8_t b; memcpy(&b, &a, sizeof(uint8_t)); b >>= 2; Преобразование через указатель char* (uint8_t*) тоже считается допустимым. А вот всеми любимый union { struct a; uint8_t b; } - undefined behavior, но поскольку такого быдлокода в мире тонны, все производители компиляторов скрипя зубами поддерживают этот костыль везде