在函数体中将变量转换为 void 的用法是什么?

What's this usage of the variable cast to void in function body?

我刚开始学习编写嵌入式 C 代码。我看到了如下代码。

函数定义如下:

void printDebug(const char d1[]){(void)d1;}

并且是这样使用的:

printDebug("BLE_UART_EVENT");

我不明白它的用途。它给我的印象是可调用 char 数组?

它没有调用 char 数组,它只是将 char 数组显式转换为 void。 (并且立即丢弃评估结果。)

我认为它只是用来禁止未使用变量的编译器警告。

如果根本不会使用该参数,将其设为未命名参数会更清楚。

void printDebug(const char[]) {}