灵魂的蜕变
ChianXu
全部博文(22)
2012年(1)
2011年(20)
2010年(1)
小雅贝贝
lanyang1
illidan8
anyegong
lfnian19
lianghao
myhand
lqkitten
helpstud
tian_ye
liblu
分类: C/C++
2011-06-15 00:47:22
我们在需要对于某些条件进行判断的时候,长长会写成如下形式:if (a if (c if (e ...当判断条件非常多的时候,就显得非常的不爽了,括号之间的管理,前后的判断等等,修改起来也非常不方便,这时候我们可以使用do..while(0);这里的while(0)保证了不会进行下次循环,那么,这和没有写这个用法有啥区别?看看下面的代码就知道了。do{if (a >= b) break;...if (c >= d) break;...if (e >= f) break;...
}while(0);可以看到,这段代码和上面那段实现功能是一样的,但是,明显的更加有条理,如果需要更改也非常方便了。
PS:当然,do...while(0)在C语言的宏中也用得比较多,特别是,当把宏伪装成函数的时候,经常这么使用,在glib的代码中就大量用了do...while(0)。
上一篇:apue.2e配置以及unix高级环境编程一书例子如何运行
下一篇:nginx代码分析之Empty Gif是如何工作的
登录 注册