今天看到了一些符号都是以前想用却又记不起来的东东,所以这次记下来,好记性不如烂笔头嘛。
1.#运算符
它是把跟在其后的参数转换成字符串,于是也有叫字符串化运算符
如果定义 #define PASTE(n) "abcde"#n
那么PASTE(13)就是“abcde15”
2.##运算符
它是把参数连接到一起
如果定义 #define NUM(a,b,c) ##a##b##c
那么NUM(1,2,3)就是123
如果定义 #define STR(a,b,c) ##a##b##c
那么STR("aa","bb","cc")就是“aabbcc"
3.包含文件
如果是尖括号就是去编译器自带的或者外部库中找头文件;如果是双引号就是现在当前目录找,找不到等同于尖括号。
4.#error
它将使编译器输出一条错误指令,然后停止编译。
5.#line
它可以改变编译器用来指出错误信息和警告的文件号和行号。