user40922: Gentlemen, 
  I am a novice C++ programmer, When I was trying to learn how to use EEPROM with Arduino, I came across this statement 

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

where I need to know what does (byte*) somedata mean?, please let me know if someone know the answer
Regards,
Mr.B

user4143: It means "Interpret this pointer as a pointer to byte data".  It's called "Casting" and allows you to fool the compiler into thinking that one type of data is another.
For example, your function expects a byte * (a pointer to byte data), and if you have char * as your variable you can change it on the fly to byte * by casting it like that.

40922: <p>Gentlemen, 
  I am a novice C++ programmer, When I was trying to learn how to use EEPROM with Arduino, I came across this statement </p>

<blockquote>
  <p>i2c_eeprom_write_page(0x57, 0, (byte *)somedata, sizeof(somedata));</p>
</blockquote>

<p>where I need to know what does (byte*) somedata mean?, please let me know if someone know the answer</p>

<p>Regards,</p>

<p>Mr.B</p>
 4143: <p>It means "Interpret this pointer as a pointer to byte data".  It's called "Casting" and allows you to fool the compiler into thinking that one type of data is another.</p>

<p>For example, your function expects a <code>byte *</code> (a pointer to byte data), and if you have <code>char *</code> as your variable you can change it on the fly to <code>byte *</code> by casting it like that.</p>
