Присвоение значений boolean

Rednaxela
Offline
Зарегистрирован: 26.08.2013

Товарищи, весь инет перерыл ничего нормального нет...

Как присвоить массив данных типа boolean в ходе программы (НЕ в момент инициализации)?

С инициализацией проблем нет, boolean b1[8]   = {0,0,0,0,0,0,0,0};

но как потом переприсвоить значение этой переменной за 1 шаг?

 

Спасибо!

leshak
Offline
Зарегистрирован: 29.09.2011

for, memcpy и т.п.

все зависит от того, что вы понимаете под "один шаг".

Araris
Offline
Зарегистрирован: 09.11.2012

Интересно, но непонятно Rednaxela спросил.

b1[5] = 1;     // - это сколько шагов ?

Michal
Michal аватар
Offline
Зарегистрирован: 26.04.2013

используйте не массив, а байт, в нем каждый бит будет вам как булевский тип... его то и можно за один шаг обнулить или установить

Rednaxela
Offline
Зарегистрирован: 26.08.2013

Araris пишет:

Интересно, но непонятно Rednaxela спросил.

b1[5] = 1;     // - это сколько шагов ?

это будет восемь шагов в нашем случае.

Да, мне нужно как в типе byte, сразу все значения переустановить, без циклов.

А читать например по одному.

Кстати из byte считать один символ можно или нет?

maksim
Offline
Зарегистрирован: 12.02.2012

Rednaxela пишет:

Кстати из byte считать один символ можно или нет?

Считать один символ из байта нельзя. А вот считать/записать одит бит из байта можно.

 

step962
Offline
Зарегистрирован: 23.05.2011

maksim пишет:

Считать один символ из байта нельзя.

Считать один символ (char) из байта (byte) можно. Причем только один считать и можно.

Ведь byte в AVR GCC - это unsigned char

maksim
Offline
Зарегистрирован: 12.02.2012

Я имел ввиду то что ТС "символом" называет часть байта подразумевая наличие нескольких "символов" в байте что есть не так. Символ это и есть байт поэтому считать один тип из другого звучит как то некорректно. Преобразовать байт в символ можно или представить байт как символ.