do{......} while{0} 的使用技巧

1200阅读 2评论2013-11-21 c语言达人
分类:C/C++

do{......} while{0} 主要使用在宏定义中,例子如下:

#define SAFE_FREE(p) do { free(p); p= NULL;} while(0)

if (NULL != p)
    SAFE_FREE(p);
else
    ... //do something

如果在宏定义中去掉do{......} while{0}会存在两个问题:
1. if 分支后有两个语句,导致else分支没有对应的if ,会编译失败
2. 假设没有else分支,则SAFE_FREE不会执行


上一篇:没有了
下一篇:USB电池充电基础

文章评论