Что означает (byte*)variable_name в C++?

Господа, Я начинающий программист на C++. Когда я пытался научиться использовать EEPROM с Arduino, я наткнулся на это утверждение

i2c_eeprom_write_page(0x57, 0, (byte *)somedata, sizeof(somedata));

где мне нужно знать, что означает (byte*) somedata? Сообщите мне, если кто-то знает ответ

С уважением,

Мистер Б

, 👍0

Обсуждение

внешний EEPROM?, @Juraj


1 ответ


Лучший ответ:

2

Это означает "Интерпретировать этот указатель как указатель на байтовые данные". Он называется "Приведение" и позволяет обмануть компилятор, заставив его думать, что один тип данных является другим.

Например, ваша функция ожидает byte * (указатель на байтовые данные), и если у вас есть char * в качестве переменной, вы можете изменить ее на лету. в byte *, приведя его таким образом.

,

Спасибо, г-н Маженко. Не могли бы вы порекомендовать мне какой-нибудь материал или веб-сайт, чтобы я мог больше узнать об этой теме? Это было бы полезно. Спасибо за ответ, @Mr.B

https://www.tutorialspoint.com/cprogramming/c_type_casting.htm, @Majenko

Спасибо, мистер Маженко., @Mr.B