I have problem to understand the code below:
#define LCD_DATA_REG (*(unsigned char*)( 0xC000 )) // Data Register #define LCD_CTRL_REG (*(unsigned char*)( 0x8000 )) // CTRL Register
I know basics about pointers and I know how to understand pointers to functions, arrays, structures, int, ... However I don't understand these definitions at all. Would anybody of you be so kind to explain me what these lines of code means in detail? I would be very glad if you'll explain it step by step:
1. (unsigned char*)( 0xC000 ) - can number (0xC000) be a pointer? or what does this line mean?
2. (*(unsigned char*)( 0xC000 )) - what does the other symbol * mean?
Thank you and sorry for bothering you with this maybe easy problem.