如何编写宏来从C中的内存访问数据?

Ras*_*yak 3 c macros memory-address c-preprocessor

上周我接受了采访.我被要求写一个宏来读取一个内存位置(比方说0x2000).我在正常编程中编写代码,但我无法编写宏.
请帮我弄清楚如何为下面的代码编写宏:

char *address = (char*)0x2000; // address is a pointer to address 3000 char val

*address = 36; // write 36 to 8 bit location at address

val = *address; // read 8 bit value from address
Run Code Online (Sandbox Code Playgroud)

Mat*_*Mat 5

像这样的东西?

#define READ_CHAR_AT(address) *((char *) (address))
Run Code Online (Sandbox Code Playgroud)