https://blog.csdn.net/u012062760/article/details/46446207

关于while(0)实际上是用来宏定义的,这样的宏定义可以避免调用的时候出错。

 

 

如下面这种较为复杂的定义:(这里的定义就是把foo(x) 看做  bar(x); baz(x)

#define foo(x) bar(x); baz(x)

 

但是上面的这种写法,有可能在调用的时候会带来错误。

所以一般会用 do  while(0) 进行宏定义。

#define foo(x) do { bar(x); baz(x); } while (0) 

 

 

相关文章:

  • 2022-01-20
  • 2022-12-23
  • 2022-02-19
  • 2021-07-09
  • 2021-12-05
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-01-18
  • 2022-01-27
  • 2021-11-28
  • 2022-01-16
  • 2021-12-07
相关资源
相似解决方案