有人能告诉我这个C语句的意思吗?
static uint8_t chess_storage(DM%2) host_response[14] ;
答案 0 :(得分:7)
它无效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
,预处理器能够计算它。由于宏是空的,整个术语将会消失,留下上面的数组声明。
可能还有其他更“艺术”的宏。