unclear use of a function in spi tutorial (c synta

I understand everything in the SPI eeprom tutorial except for this use of the spi_transfer(volatile char data) function:

spi_transfer((char)/b); //send MSByte address first spi_transfer((char)(EEPROM_address));

Why is the (char) put there? I have never seen this syntax before.

In the tutorial the address is a 16bit number. The spi_transfer() function expects 8bit numbers. A char is 8 bits wide. The first call transfers the high byte, the second call the low byte. The char-cast throws away all the bits above the 1-byte boundary. That's why in the first call the high byte is shifted 8 bits to the right, to where "ordinary bytes" live, the upper part is tossed away and the remaining data gets sent.