> 日常维修
循环语句dowhile(循环while用法)
导语:第五章:循环 do「」while(0) 妙用
有的时候,我们可能需要多次执行同一块代码。一般情况下,语句是按顺序执行的:函数中的第一个语句先执行,接着是第二个语句,依此类推。为了适用各种场景,C语言提供了多种控制结构。
循环语句允许我们多次执行一个或多个语句。
随便找一本书都可以找到关于 for ; while ; do while 的使用示例,这里我就不赘述了。我要分享的是,在实战中常用的一个技巧 do{} while(0);
场景一:多逻辑结构去掉goto
考虑这样一种情况,比如要实现一个目标的时候,有很多操作,每一个操作失败时,都进行退出,并释放其中使用到的资源。实例代码如下。
defineSAFE_FREE(p)free(p);p=NULL;
if(p3){free(p3);p3=NULL;}
就可写成如下形式
if(p3){ SAFE_FREE(p3)}
上面的 {} 很是奇怪,改下宏。
34;p3isnull.&34;p3isnull.&defineSAFE_FREE(p)do{free(p);p=NULL;}while(0)
两种写法都没有问题。
if(p1)SAFE_FREE(p1);if(p2)SAFE_FREE(p2);elseprintf(&34;);
你,学会了吗?欢迎留言。
本文内容由小洁整理编辑!