C-宏
来源:互联网 发布:26岁初抗老护肤 知乎 编辑:程序博客网 时间:2024/05/17 23:39
可变参数宏
__VA_ARGS__:总体来说就是将左边宏中 ... 的内容原样抄写在右边 __VA_ARGS__ 所在的位置
也就是说
define debug(a,b,c... ) printf(a,b,c,__VA_ARGS_)
等于是对于不确定有多少的变量都可以先明确调用
#define test(format, ...) fprintf (stderr, format, __VA_ARGS__)
main()
{
char p[] ="it is:"
test("%s %d", p[], num);
return 0;
}
c库中的特殊宏
__FILE__,编译时定义为当前的文件名
__LINE__ ,编译时定义为当前的行数
__FUNCTION__编译时定义为当前的函数名
printf(“ %s \n”,__FUNCTIOM__)
就可以打印出来当前的函数名 对于调试很有作用
## 连接符
#define A abc##def
A ==> abcdef
#替代符
# stringified 把字符# 右边的 宏参数 转换为字符串 "argument"
等于把参数字符串化
example:
#define str(a) #a
str(ADD(x)) ==> "ADD(x)"
0 0
- [c/c++]宏定义,#,##
- [c/c++]宏定义,#,##
- [c/c++]宏定义,#,##
- C++/C 宏列表
- 【C/C++】宏
- C/C++-技巧-宏
- C/C++-技巧-宏
- C语言宏定义详解 - [C,C++]
- C宏
- C宏
- C宏
- C宏
- C-宏
- C宏
- C-宏
- 一个小小的C语言宏定义错误 - [C,C++]
- (转)C语言宏定义详解 - [C,C++]
- C++/C语言函数:isalpha()函数 isdigit(int c)宏
- 中序和后序构建二叉树
- [程序员] 女程序员的青春有几年
- 第16周项目2.3 求字符串str的长度并返回 用指针作形参
- C++常对象及其成员
- 利用oracle rownum让表排序字段值连续
- C-宏
- android AM command
- Mark一下进制转换的问题
- SQL 两表之间拷贝复制数据
- 设计模式六大原则(1):单一职责原则
- 第16周Problem B: 有相同数字?
- hdu 1175
- 第十六周实践代码
- 自动布局的一些资源