宏定义
2015-12-25 18:34
225 查看
1、注释先于预处理指令处理,因此不能用宏定义来开始注释
#define BPS /*
#define BPD */
BPS xxx BPD //错误,因为系统处理注释优先与宏定义。
2、用宏定义的表达式,千万要记得变量和整个表达式加括号
#define SQR(X) ((X)*(X)) //在变量和整个表达式都加上了括号
3、注意宏定义中的空格
3.1 #define SUM _ (X) ((X)+(X)) //SUM后面加了空格,系统认为定义了宏SUM=(X) ((X)+(X))
3.2但是在使用宏的时候可以写成SUM_(X),中间的空格会被系统过滤掉(系统会自动找一个合法的式子)
同理 int i = 8;
i = i_/ _*p;//合法,系统会自动过滤空格,直到找到合法的表达式
#define BPS /*
#define BPD */
BPS xxx BPD //错误,因为系统处理注释优先与宏定义。
2、用宏定义的表达式,千万要记得变量和整个表达式加括号
#define SQR(X) ((X)*(X)) //在变量和整个表达式都加上了括号
3、注意宏定义中的空格
3.1 #define SUM _ (X) ((X)+(X)) //SUM后面加了空格,系统认为定义了宏SUM=(X) ((X)+(X))
3.2但是在使用宏的时候可以写成SUM_(X),中间的空格会被系统过滤掉(系统会自动找一个合法的式子)
同理 int i = 8;
i = i_/ _*p;//合法,系统会自动过滤空格,直到找到合法的表达式
相关文章推荐
- Oracle V$SESSION详解
- C语言随笔
- CI控制器调用内部方法并加载对应模板的做法
- 大白话系列之C#委托与事件讲解(二)
- 实现SVN与WEB同步解决方案(转)
- 常用命令
- 是否创建数据库判断以及建表
- Android如何获得系统(system)权限
- Pyqtdeploy Complie Win32 Version PyQtWin32静态编译记录
- Python Network Programming(6)---Socket网络编程总结
- 设备驱动简介
- HTTP协议之:TCP连接详解
- 即时行乐的总结
- 将rootfs制作成ramdisk
- android加固系列—2.加固前先要学会破解,调试内存值修改程序走向
- 软件工程学习总结
- pushState与replaceState区别
- POJ 2251 Dungeon Master(地牢)
- 使用宏批量将多个csv文件转成excel文件
- tcp 出现rst情况整理