【问题标题】:Type casting a variable to void? [duplicate]键入将变量转换为无效? [复制]
【发布时间】:2019-09-06 04:29:19
【问题描述】:

最近遇到这个代码,一头雾水,这是干什么用的?

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

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

代码示例:

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

    // more code here

    return 0;
}

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

【问题讨论】:

标签: c typecast-operator


【解决方案1】:

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

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

【讨论】:

  • 什么是 MISRA 规则?
【解决方案2】:

这可用于抑制未使用的变量编译警告。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-09-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-19
    • 2018-09-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多