博客
关于我
C语言宏接口define的高级使用
阅读量:107 次
发布时间:2019-02-26

本文共 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/

你可能感兴趣的文章
Mysql之性能优化--索引的使用
查看>>
mysql之旅【第一篇】
查看>>
Mysql之索引选择及优化
查看>>
mysql之联合查询UNION
查看>>
mysql之连接查询,多表连接
查看>>
mysql乐观锁总结和实践 - 青葱岁月 - ITeye博客
查看>>
mysql也能注册到eureka_SpringCloud如何向Eureka中进行注册微服务-百度经验
查看>>
mysql乱码
查看>>
Mysql事务。开启事务、脏读、不可重复读、幻读、隔离级别
查看>>
MySQL事务与锁详解
查看>>
MySQL事务原理以及MVCC详解
查看>>
MySQL事务及其特性与锁机制
查看>>
mysql事务理解
查看>>
MySQL事务详解结合MVCC机制的理解
查看>>
MySQL事务隔离级别:读未提交、读已提交、可重复读和串行
查看>>
MySQL事务隔离级别:读未提交、读已提交、可重复读和串行
查看>>
webpack css文件处理
查看>>
mysql二进制包安装和遇到的问题
查看>>
MySql二进制日志的应用及恢復
查看>>
mysql互换表中两列数据方法
查看>>