C语言之define
来源:互联网 发布:域名绑定ip 端口 编辑:程序博客网 时间:2024/06/03 19:51
1. 不带参数的宏定义
一般一个程序里,要使用某个常量的话,最好采用define进行宏定义,方便代码的修改,只要在一处修改,整个程序就完成了修改,十分方便:
#define PI 3.141592654
例如上面的例子,对于圆周率PI的值,用define宏定义之后,在程序中PI就代表3.141592654,下次要换个值,直接改宏定义即可,define一般只是简单的字符替换。
2. 带参数的宏定义
有时候,希望宏定义做一点小的运算,毕竟写成函数的话,需要在栈上开辟一个空间,以及出栈操作,消耗一定时间,于是采用带参数的宏定义完成一些简单操作:
#define MULTIPLY(a,b) a*b
c = MULTIPLY(2,3);
其实上述定义还是有一点小问题的,对于输出是表达式,可能运算的顺序就不是如你所愿了,例如:
d = MULTIPLY(a+b, a+b);
本来是想算(a+b)*(a+b),然而define只是简单的字符替代,变成了d = a+b*a+b,当然是错的了,需要将宏定义改成:
#define MULTIPLY(a,b) (a)*(b)
3. 防止文件的重复包含
一般对于文件包含操作,在被包含的文件中需要进行如下操作:
ifndef Random_H
#define Random_H
// user codes
#endif
也就是说,只要该文件被包含了一次,Random_H就会被定义,一旦被定义,中间的用户代码不会被重复包含。
0 0
- C语言define之#,##
- C语言之define
- C语言之#define用法
- C语言之#define用法
- C语言之#define用法
- C语言之#define用法
- C语言之#define 函数
- C语言之define用法总结
- C语言之define用法总结
- C语言之#define用法 | from web
- C语言之#define用法总结
- C语言之define与typedef区别
- C语言之typedef和define
- C语言 #define
- C语言#define用法
- C语言 #define 举例
- C语言 #define用法
- C语言Define
- JDBC连接数据库(1)
- Intent
- 第十五周项目一 阅读下面程序,解释运行结果(6)
- MyBatis批量插入数据
- Android学习记录(一) 重拾Activity
- C语言之define
- class文件校验器分成四趟独立的扫描来完成校验。
- 最大二叉搜索子树
- php的构造函数理解
- 三层架构
- Mybatis generator 自动生成代码时 ,insert如何返回主键值
- VLATTICE - Visible Lattice Points [Spoj 7001]
- 基于Spring的包含特定注解bean的package扫描工具
- Express Hello