Страница 1 из 1
Вопрос по Си
Добавлено: Ср авг 04, 2021 02:58:51
Icee
Что делает эта строка?
Выражения в скобках перемножаются что ли?
Re: Вопрос по Си
Добавлено: Ср авг 04, 2021 08:17:24
ARV
эта конструкция, если используется в цикле по j от 0 до 4 (например), заполнит массив bt байтами числа x (которое должно быть хотя бы типа int или больше).
по сути полный эквивалент более короткой (и наверняка более быстрой) записи *(long*)bt = x; (тут важно, чтобы размер массива bt был не менее sizeof(long)), естественно, эта запись в цикле не нуждается
разница между этими вариантами лишь в том, что исходный вариант от типа x не зависит, а предложенный мной - как уже сказал, зависит: тип приведения указателя bt должен совпадать с типом x или быть меньше его по размеру, но не больше!
Re: Вопрос по Си
Добавлено: Ср авг 04, 2021 10:32:43
Icee
Все, дошло до меня это заполнение. А (unsigned char) это оказывается насильственное назначение типа. Спасибо
Re: Вопрос по Си
Добавлено: Чт авг 05, 2021 10:30:56
slav0n
а еще для такого рода задач существует замечательное ключевое слово
union