任何人都可以解释这段代码会做什么?

时间:2012-12-19 10:39:30

标签: c

有人能告诉我这个C语句的意思吗?

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

1 个答案:

答案 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,预处理器能够计算它。由于宏是空的,整个术语将会消失,留下上面的数组声明。

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