1. 没啥意思, 宏这东西就是硬凑的, 就这里而言毫无意义, 但是结合具体使用就可能有意义了, 到时候前头肯定会提供一个 { ,后头也肯定会接个}, 当然未必是很直接的方式, 而很有可能是放在另外的什么宏里头藏着
2. 所谓宏定义没有分号,只是说“宏定义”的语法本身不需要分号, 但是不妨碍你往定义的内容里写分号。 实际上是你爱写什么写什么, 写什么都替换进去, 分号没什么特别的
3. 宏定义不“理解”什么语法(其实还是理解一点点的,但是跟这个就没关系了) , 宏定义只是替换, 至于理解, 只有具体使用的地方都替换过之后才有理解的问题
总的来说你的问题就是试图去理解宏里面的语法, 宏只是替换,替换完了之后形成一个没有宏的文件, 才开始考虑它的语法问题, 单独的考虑宏是没意义的
最好把程序中用到这个宏的地方一起贴出来看看。
宏其实就是文本替换。