第三章 预处理
1. ANSI 标准C宏:
1)__LINE__ 正在编译的文件行号
2)__FILE__ 正在编译的文件名
3)__DATE__ 编译时刻日期字符串
4)__TIME__ 编译时刻时间字符串
5)__STDC__ 判断该文件是不是定义成标准C程序
2. #运算符
在字符串中若想引用宏参数,则使用”#宏参数”。
★实例:
#define SQR(x) printf(“The square of “#x” is %d.\n”, ((x) * (x)));
3. ##运算符
用于宏函数替换部分,将两个语言符号粘合成单个语言符号。
1)用##连接形参时,##前后空格可有可无。
2)用##连接后形成的参数必须为实际的参数名或编译已知的宏定义。
4. #@字符化操作符
只能用于有传入参数的宏定义中,且必须置于宏定义体中,参数名前。
★实例:
#define MAKRCHAR(x) #@x //记住并非@#(VS2010中已测试)
a = MAKECHAR(b); //展开后,a = ‘b’;