0,定义宏的时候,不会检查语法.
1, 如果宏值是1个表达式,那么宏值并不是这个表达式的结果,而是这个表达式本身.
2.无法通过赋值符号为宏 改值. 因为宏根本就不是变量.
3,宏的作用域问题
1>宏可以定义在函数内部,也可以定义在函数外部。
2>从定义宏的地方,后面的所有的地方都可以直接使用这个宏.
3>默认情况下,宏从定义的地方一直到文件结束都可以使用. #undef 宏名可以让指定的宏提前失效.(用的很少)
4,字符串中并不会出现宏替换.
宏值当中我们用到了另外1个宏名. 那么就会先将这个宏值当中的宏名替换为对应的宏值.
5.可以将任意代码定义为宏
注意:为带参数的宏传值的时候,是本色传递(给的什么,传的就是什么)!! |
|