linux内核和其他一些开源的代码中,经常会遇到这样的代码: 这样的代码一看就不是一个循环,do..while表面上在这里一点意义都没有,那么为什么要这么用呢? 实际上,do{...}while(0)的作用远大于美化你的代码。查了些资料,总结起来这样写主要有以下几点 ...
在C 中,有三种类型的循环语句:for, while, 和do...while, 但是在一般应用中作循环时, 我们可能用for和while要多一些,do...while相对不受重视。 但是我发现了do...while的一些十分聪明的用法,不是用来做循环,而是用作其他来提高代码的健壮性。 . do...while 消除goto语句 通常,如果在一个函数中开始要分配一些资源,然后在中途执行过程中如果遇 ...
2021-01-24 14:23 0 554 推荐指数:
linux内核和其他一些开源的代码中,经常会遇到这样的代码: 这样的代码一看就不是一个循环,do..while表面上在这里一点意义都没有,那么为什么要这么用呢? 实际上,do{...}while(0)的作用远大于美化你的代码。查了些资料,总结起来这样写主要有以下几点 ...
在开源软件里面经常可以看到这样的写法。 #define X(a) do { f1(a); f2(a); } while(0) 1. 主要作用是放在宏定义里面,避免宏带来的语法问题。 比如 #define DOSOMETHING()\ cmd1 ...
while循环 while 语句与 if 语句相似,都有条件来控制语句(或语句块)的执行,其语言结构基本相同:while(conditions){ statements;} while 语句与 if 语句的不同之处在于:在if条件假设语句中,若逻辑条件表达式为真,则运行 ...
do{ }while();循环 当while中条件为真 也就是true 循环继续执行. 否则循环结束. do{}while(false) 最大意义是:简化 if else 的嵌套结构判断逻辑。 一些代码都分段包含在了do{...}while(false)区间 ...
a=100; do { int x = a / 100;//百位 int y = a / ...
0 引言 《C和指针》中对&操作符,*操作符和const修饰词有一些基本的介绍,这些介绍精确戳中了其本质含义,对于涉及到这些操作符的语法的理解很有帮助。因此写作这篇博文帮助后续的理解。 reference: 《C和指针》 https ...
0401: switch的用法 : switch(表达式){ case 值1: 如果表达式跟case的值1是一样的,那么这里的代码就会执行 break;(break代表这和case的代码结束) case 值 ...
㈠while循环 循环条件 是个bool值,为true时执行循环,为false退出循环。break一般不单独的使用,而是跟着if判断一起使用,表示,当满足某些条件的时候,就退出循环了。 循环体 一般总会有那么一行代码和循环条件建立关系,能够改变循环条件,使之终有一天不再成立 ...