免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1689 | 回复: 8
打印 上一主题 下一主题

[C] 高人帮忙看看,奇怪的C语句....急 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-11-06 13:24 |只看该作者 |倒序浏览
if(...)
   (void)NULL;

不知道是什么意思

[ 本帖最后由 niyeyede2009 于 2009-11-6 13:32 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2009-11-06 13:36 |只看该作者
避免编译报错的一种手段?预留的。
比如f(int a,int b)
{
    (void)b;?
}
不太清楚,哪位大侠说说?

论坛徽章:
0
3 [报告]
发表于 2009-11-06 14:11 |只看该作者
gz

论坛徽章:
0
4 [报告]
发表于 2009-11-06 16:56 |只看该作者
这个比较罕见,一般是写的 null; (注意是小写,表示空语句)
我怀疑是作者搞错了, 写成NULL;结果报错,然后改为(void)NULL;

论坛徽章:
0
5 [报告]
发表于 2009-11-06 17:02 |只看该作者
just do nothing

论坛徽章:
0
6 [报告]
发表于 2009-11-06 17:05 |只看该作者
原帖由 epegasus 于 2009-11-6 16:56 发表
这个比较罕见,一般是写的 null; (注意是小写,表示空语句)
我怀疑是作者搞错了, 写成NULL;结果报错,然后改为(void)NULL;



不对。一个 ; 就是空语句。如果 null 是空语句,后面就不应该再跟分号,否则成两个空语句了。

论坛徽章:
1
2015年迎新春徽章
日期:2015-03-04 09:49:45
7 [报告]
发表于 2009-11-06 17:15 |只看该作者
按理来说这么个语句
(void)((void*)0);

将一个void*指针装换成void类型,然后扔掉? 不懂

论坛徽章:
0
8 [报告]
发表于 2009-11-06 17:37 |只看该作者

回复 #6 retuor 的帖子

恩.我乱说了.
null这东西没用过也没看谁用过,可能是数年前看的,也可能是C++里面的,自己都搞不清楚了.

论坛徽章:
0
9 [报告]
发表于 2009-11-06 22:17 |只看该作者
你去看看/usr/include/assert.h,看里面的assert是怎么宏定义的就明白了。这代码八成已经被预处理过了。-E -NDEBUG之后的assert宏看着就是这样(void)0,0和 NULL是一样的
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP