Darth Vader 0 12 мая, 2019 Опубликовано 12 мая, 2019 (изменено) · Жалоба 3 hours ago, jenya7 said: Сделал такую проверку Измените проверку, искусственно "замусорив" три байта после вашего тестового: Quote void *var_ptr; uint8_t test1; uint32_t test2; uint8_t MyArray[4] = {1,2,3,4}; var_ptr = &MyArray; test1 = *((uint8_t*)(var_ptr)); test2 = *((uint32_t*)(var_ptr)); А вот теперь сравните test1 и test2. Первый равен 0x00000001. А вот второй стал 0х04030201. Изменено 12 мая, 2019 пользователем Darth Vader Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
esaulenka 7 13 мая, 2019 Опубликовано 13 мая, 2019 · Жалоба 19 hours ago, Arlleex said: Padding... Упакуйте структуру Коллега, внимательнее! Там вся структура из 8-битных переменных, паддинга между ними нет. А вот то, что гражданин "гуру" взял значения из uint8_t flimsw_state; uint8_t rlimsw_state; и двух последующих байт (которые случайно опять оказались нулевыми) и опять не понял, что произошло - ну, увы, тут половина тем таких... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Arlleex 160 13 мая, 2019 Опубликовано 13 мая, 2019 · Жалоба 37 минут назад, esaulenka сказал: Коллега, внимательнее! Там вся структура из 8-битных переменных, паддинга между ними нет. Да, недоглядел: конкретно в его структуре padding-байт нет, тут Вы правы. Но появись завтра в структуре дырка, и ТС опять будет в недоумении P.S. ТС, переименуйте тему, пожалуйста. А то google-исты потом не найдут этот топик. Полагаю, там "Работа с void-указателем". Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jenya7 0 13 мая, 2019 Опубликовано 13 мая, 2019 · Жалоба 25 минут назад, Arlleex сказал: P.S. ТС, переименуйте тему, пожалуйста. А то google-исты потом не найдут этот топик. Полагаю, там "Работа с void-указателем". у меня нету доступа к редактированию заголовка. исправил (ViKo) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться