Приведение структуры в int
Есть ли чистый способ преобразования структуры в uint64_t или любой другой тип int, учитывая, что структура в & lt; = соответствует размеру int? Единственное, о чем я могу думать, это только «хорошо». Решение - использовать союзы. Однако я никогда не любил их.
Позвольте мне добавить фрагмент кода, чтобы уточнить:
typedef struct {
uint8_t field: 5;
uint8_t field2: 4;
/* and so on... */
}some_struct_t;
some_struct_t some_struct;
//init struct here
uint32_t register;
Теперь, как мне привести cast_struct для захвата его порядка битов в регистре uint32_t.
Надеюсь, это немного прояснит ситуацию.