c - 什么是 C 中的强制转换参数语句?

标签 c

在下面的函数中

int f (some_struct* p)
{
    (void) p;
    /* something else */
    return 0;
}

声明是什么

(void) p; 

是什么意思?

最佳答案

该语句在运行时不执行任何操作,也不会生成机器代码。

它禁止编译器警告 p 在函数体中未被使用。这是一种在各种不同的编译器(包括 GCC、Clang 和 Visual C++)中抑制此警告的可移植且安全的方法。

关于c - 什么是 C 中的强制转换参数语句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18523007/

相关文章:

IE WebBrowser 控件不支持 Javascript 'map'?

c - 在c中打印链表值时出现奇怪的值

c++ - 当编译为 C++ 时,C 定义结构数组的元素具有不完整的类型

c - 是否可以在运行时为 C 中的字符串分配正确的空间量?

c - 不使用 remove() 函数如何在 C 程序中删除文件

c - 为什么我的 C 代码会抛出错误?

c - ragel如何从文件中读取源代码?

c - 多个源中的 sizeof 时间常数

objective-c - 如何交换big 到主机int8 数字?

c - openCV k-means 调用断言失败