以下の2つのマクロに意味的に何か違いはありますか?
ただ好みの問題でしょうか?
do { ... } while(0) か { ... } だけかってことなんですが。

#define MACRO1() {\
 var1 = foo; \
 var2 = bar; \
}

#define MACRO2() \
 do { \
  var1 = foo; \
  var2 = bar; \
 } while (0)