谁能告诉我这个 C 语句是什么意思?
static uint8_t chess_storage(DM%2) host_response[14] ;
它不是有效的 C,你不能%
在那个位置有一个。而且你也不能把整个chess_storage(DM%2)
东西都放在那里,除非(可能)它是一个宏,可以做你可以做的事情。
这:
static uint8_t host_response[14];
将声明host_response
为 14 个 8 位无符号整数(又名“字节”)的数组。
如果我们添加这个:
#define chess_storage(size)
#define DM 1
然后代码至少变得有效,用预处理器能够计算chess_storage
的参数代替我们调用宏。1%2
由于宏是空的,整个术语将消失,留下上面的数组声明。
可能还有其他更“艺术”的宏。