Мой вопрос касается указания на фрагменты памяти нечетного размера.
Допустим, у меня есть структура
, объявленная следующим образом:
typedef struct{
int32 val1 : 29;
int32 val2 : 26;
char val3;
}MyStruct;
Предположим, что желательно объявить определенные битовые поля в структуре (почему мы будем использовать битовые поля, вопрос не в этом).
Если бы я хотел объявить указатель, указывающий на одно из этих полей, я мог бы попробовать что-то вроде этого:
MyStruct test;
int32 *myPtr = &(test.val1);
За исключением того, что это приводит к ошибке "получение адреса битового поля не разрешено]».
Предполагая, что мы хотели бы, есть ли способ указать на эти поля таким образом? Я знаю, что С++, вероятно, дополнит поля до следующего байта (в данном случае это будет 32 бита).