Что означает (byte*)variable_name в C++?
Господа, Я начинающий программист на C++. Когда я пытался научиться использовать EEPROM с Arduino, я наткнулся на это утверждение
i2c_eeprom_write_page(0x57, 0, (byte *)somedata, sizeof(somedata));
где мне нужно знать, что означает (byte*) somedata? Сообщите мне, если кто-то знает ответ
С уважением,
Мистер Б
@Mr.B, 👍0
Обсуждение1 ответ
Лучший ответ:
Это означает "Интерпретировать этот указатель как указатель на байтовые данные". Он называется "Приведение" и позволяет обмануть компилятор, заставив его думать, что один тип данных является другим.
Например, ваша функция ожидает byte *
(указатель на байтовые данные), и если у вас есть char *
в качестве переменной, вы можете изменить ее на лету. в byte *
, приведя его таким образом.
Спасибо, г-н Маженко. Не могли бы вы порекомендовать мне какой-нибудь материал или веб-сайт, чтобы я мог больше узнать об этой теме? Это было бы полезно. Спасибо за ответ, @Mr.B
https://www.tutorialspoint.com/cprogramming/c_type_casting.htm, @Majenko
Спасибо, мистер Маженко., @Mr.B
- Как использовать SPI на Arduino?
- Библиотека DHT.h не импортируется
- Светодиоды: разница между общим анодом и общим катодом
- Как повторить кусок кода
- Почему эта программа на C++ не может прочитать Serial.write() моего arduino?
- Как изменить переменную при нажатии кнопки, подключенной к контакту 2
- Отображение двоичных данных на светодиодах
- Корпус кнопки и переключателя
внешний EEPROM?, @Juraj