1. 首页
  2. 编程语言
  3. C
  4. 浅谈do {...} while (0) 在宏定义中的作用

浅谈do {...} while (0) 在宏定义中的作用

上传者: 2021-08-07 18:38:39上传 PDF文件 71.76 KB 热度 14次

如果你是一名C程序员,你肯定很熟悉宏,它们非常强大,如果正确使用可以让你的工作事半功倍。然而,如果你在定义宏时很随意没有认真检查,那么它们可能使你发狂,浪费N多时间。在很多的C程序中,你可能会看到许多看起来不是那么直接的较特殊的宏定义。这句话听起来可能有些拗口,其实用一句话概括就是:使用do{...}while构造后的宏定义不会受到大括号、分号等的影响,总是会按你期望的方式调用运行。对于上面的if语句,将会被扩展为:从语义上讲,它与下面的语句是等价的:这里你可能感到迷惑不解了,为什么不用大括号直接把宏包围起来呢?

下载地址
用户评论