本文共 594 字,大约阅读时间需要 1 分钟。
c语言提供了一种替换操作,在编译之前的预编译执行,define
一、常规数字替换
用法: #define 替代的名字 被替代的内容 示例:#define one 1int a = 0;a = one;printf("%d",a);
输出结果为1
二、带参数的替代
1、普通文本字符参数 #define (替代的名字) 被替代的内容#define print(x) printf("%d",x)a = 10;print(a);
输出结果:10
2、字符串参数
当需要把一个宏的参数转换为字符串常量时,则使用字符串常量化运算符 #,多行可以用 \ 换行#define message_to(name, id)
printf(#name " : " #id": Welcome!\n")int main(void)
{ message_to(tom,num123); return 0; }结果:tom:num123:Welcome!
3、标记粘贴运算符 ##
简单理解拼接字符串#define student_print(n,name) \ printf("student%d"#name " \n",student##n)int student1 = 10;student_print(1,tom) ;
结果: student10 tom
这里拼接了n和student转载地址:http://aouz.baihongyu.com/