我最近遇到了这段代码,我很困惑,它是做什么用的?
在C编程语言中,将变量类型转换为void
数据类型是什么意思?这有什么作用?
如果执行了诸如类型转换或加法之类的表达式,并且未将结果立即分配给某个变量,则该结果将丢失。您为什么要这么做?似乎是无用的表达。
代码示例:
int main(int argc, char *argv[])
{
/* void unused vars */
(void) argc;
(void) argv;
// more code here
return 0;
}
似乎作者没有使用这些变量,但是为什么将它们强制转换为void
数据类型?您也可以将它们强制转换为int
数据类型。
答案 0 :(得分:5)
这是为了避免某些编译器中未使用的变量警告。
还有一个MISRA规则,该规则规定必须使用所有功能参数。此方法是解决此规则的方法。
答案 1 :(得分:3)
这可用于禁止未使用的变量编译警告。