#define p1 p2,预处理命令的一种,将p2所代表的字符串不做任何处理地代替p1。
一般形式: #define 宏名 字符串
#表示预处理,所有预处理都是由#开头。宏名命名规则参照标识符命名规则。
预处理操作是在编译之前,所以不会有任何语法纠错,检查等操作。
宏定义必须写在函数外,作用域为宏函数定义的该行起至源程序结束,或者可以用#undef来结束宏定义作用域。
eg:
#define p1 printf("lisi");
#define p2 printf("zhangsan")
int main()
{
#undef p1
p2;//上面宏定义没加分号,预处理时替换字符串之后该语句应加;不然报错
//宏定义不用加;如果加将会将;也替换
p1//此处报错,p1的作用域已经结束。
return 0;
}
代码中如果宏定义被引号包住,不会宏替换。
宏定义中可以使用另一个宏定义