2

谁能告诉我这个 C 语句是什么意思?

 static uint8_t chess_storage(DM%2) host_response[14] ;
4

1 回答 1

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由于宏是空的,整个术语将消失,留下上面的数组声明。

可能还有其他更“艺术”的宏。

于 2012-12-19T10:41:17.330 回答