Memorybase is an unsigned int integer
Flash_addr is an unsigned short integer pointer.
T_Buffer is an unsigned character array.
T_Buffer[ 1] is an integer of unsigned character type.
((USHORT)T_Buffer[ 1]) is to convert unsigned char integers into USHORT integers.
(memory base+((USHORT)T _ Buffer[ 1]); Integer+integer, or integer?
(unsigned short *) (memorybase+((ushort) t _ buffer [1]); Is to convert an integer into a pointer and assign it to flash_addr.