Приведение структуры в 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.

Надеюсь, это немного прояснит ситуацию.

Ответы на вопрос(3)

Ваш ответ на вопрос