摘自:http://blog.21ic.com/user1/8617/archives/2012/94974.html
1.不带参数宏定义 #define 标识符 待替换的字符串 例:#define MAX_LENGTH 80 (1) 集中放在程序的开始处 (2) 宏符号名用大写字母表示 (3) 宏定义行的未尾不要加分号 (4) 宏定义嵌套最在可达255级 (5) 可以在其前面加反斜杠(\)来明确指出一个宏符号名。 (6) 可在用预处理指令#undef宏符号名,来删除一个宏符号名。 eg: #define MAX_LEN 80 /*定义最大长度为80*/ #define BUFFER_SIZE \MAX_LEN*20 /*定义缓冲区大小为80*20*/
#undef MAX_LEN /*删除上面定义的宏定义:最大长度*/ #define MAX_LEN 120 /*重新定义最大长度为120*/ 2. 带参数的宏定义 #define 宏符号名(参数列表) 表达式 (1) 宏符号名和左括号必须紧紧相连,其间不能有空格,注释及诸如此类的字符串。 括号中,参数表里的参数被称为形式参数,在以后的程序中它们将被实际参数所贷替。 宏定义指令#defne要求在一行内写完,如一行内写不下时可在行未反斜杠"\"进行续行。 eg; #define eq(a,b) a==b #define ne(a,b) a!=b
int x,y,z; x=y=1; if(eq(x,y)) z=0; else z=20; |
宏定义的使用
最新推荐文章于 2023-08-14 17:47:32 发布