首页 > 解决方案 > 键入将变量转换为无效?

问题描述

我最近遇到了这段代码,我很困惑,它是干什么用的?

在 C 编程语言中,将变量类型转换为void数据类型是什么意思?这有什么作用?

如果执行了诸如类型转换或加法之类的表达式,并且结果没有立即分配给某个变量,则该结果将丢失。你为什么要这样做?这似乎是一个无用的表达。

代码示例:

int main(int argc, char *argv[])
{
    /* void unused vars */
    (void) argc;
    (void) argv;

    // more code here

    return 0;
}

似乎作者没有使用这些变量,但为什么要将它们转换为void数据类型呢?您不妨将它们转换为int数据类型。

标签: ctypecast-operator

解决方案


这是为了避免在某些编译器中出现未使用的变量警告。

还有一条 MISRA 规则规定必须使用所有函数参数。此方法是此规则的解决方法。


推荐阅读