Работа с указателями. Необходимо чтобы при изменении битов в битовом поле менялась и переменная - C (СИ)
Формулировка задачи:
Здравствуйте. Прошу помощи в решении следующей задачи:
Имеем переменную int16 и 16-битное битовое поле. Необходимо чтобы при изменении битов в битовом поле менялась и переменная, соответственно при изменении переменной менялись биты битового поля.
Тоесть нужно что-то вроде &BPole=&Flags1.
Битовое поле и переменная объявлены так:
struct Flags16BitsStruct { unsigned int bit0 : 1; unsigned int bit1 : 1; unsigned int bit2 : 1; unsigned int bit3 : 1; unsigned int bit4 : 1; unsigned int bit5 : 1; unsigned int bit6 : 1; unsigned int bit7 : 1; unsigned int bit8 : 1; unsigned int bit9 : 1; unsigned int bit10 : 1; unsigned int bit11 : 1; unsigned int bit12 : 1; unsigned int bit13 : 1; unsigned int bit14 : 1; unsigned int bit15 : 1; }; Flags16BitsStruct Flags1; int BPole;
Решение задачи: «Работа с указателями. Необходимо чтобы при изменении битов в битовом поле менялась и переменная»
textual
Листинг программы
Flags16BitsStruct *Flags1=(Flags16BitsStruct *)&arr[31];
Объяснение кода листинга программы
- Объявляется структура
Flags16BitsStruct
с двумя полями:byte
иbit
. - Переменная
Flags1
типаFlags16BitsStruct
инициализируется указателем на элемент массиваarr
с индексом 31. - В поле
byte
переменнойFlags1
записывается значение 0. - В поле
bit
переменнойFlags1
записывается значение 1.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д