宏定义中#和##的使用

来源:互联网 发布:软件软件下载 编辑:程序博客网 时间:2024/06/07 19:42

通过本文你会了解到:
1. 宏定义中#和##的含义
2. 简洁实例

宏定义中#和##的含义
# 的作用是将右边宏定义参数转换成字符串
## 的作用是将左右两边的参数或字符连接起来

简洁实例

#include <stdio.h>#define str(s) #s#define cat(a, b) a##bint main(int argc, char **argv){    int i1 = 1;    printf("%s\n", str(ssss)); //将ssss转换成字符串并输出。    printf("%d\n", cat(i, 1)); //将i和1连接起来,因此打印i1的值。    return 0;}

运行结果:

$ ./test ssss1

代码地址:
https://github.com/zsirkg/myWorks/blob/master/macro/symbol_%23.c

0 0