宏定义能否被赋值
计算机科学里的宏(Macro),是一种批量批处理的称谓。一般说来,宏是一种规则或模式,或称语法替换 ,用于说明某一特定输入(通常是字符串)如何根据预定义的规则转换成对应的输出(通常也是字符串)。这种替换在预编译时进行,称作宏展开。
发现定义中有意思的点在于这个“语法替换”,。
当宏定义值本身为常量时,这个宏就替换为一个常量,
如:“#define MACRO_B 200”,MACRO_B就不可以被重新赋值。
当宏定义本身代表了一个变量时,这个宏就替换了这个变量,也就同时拥有了该变量可以被赋值的特点,
如
“#define MACRO_C (a)
int a = 10;”
此时MACRO_C代替了整形变量a,同时MACRO_C也可以被赋值。
赞 (0)