几个经常被举例的宏定义
来源:互联网 发布:淘宝百叶追凶 编辑:程序博客网 时间:2024/05/08 21:13
宏非常频繁地用于执行简单的计算,比如在两个表达式中寻找较大(小)的一个“
#define MAX( a, b ) ( (a) > (b) ? (a) : (b) )
为什么不用函数来完成这个任务呢,有两点
1、首先调用和从函数返回的代码很可能比实际执行的这个小型计算工作的代码更大,所以使用宏比使用函数在程序的规模和速度上都更上一筹。
2、更为重要的是,函数的参数必须是一个特定的类型,所以说,宏是与类型无关的(即使用回调函数来处理,我们依然需要为每个不同的数据类型匹配不同的比较函数)。
另一个常用的宏
#define MALLOC(n, type) ( (type *)malloc( (n) * sizeof( type ) ) )
宏的副作用 , 程序中每处调用宏的地方, 都会插入文字拷贝,所以除非宏很短,否则会大量激增代码。
另外 作为约定,我们将宏全部大写。
- 几个经常被举例的宏定义
- 经常用的一些宏定义
- 几个常见的宏定义
- sqlite3的几个宏定义
- 经常上的几个网站
- 递归的几个应用举例
- iOS 项目中经常会用到的宏定义
- C定义宏函数举例
- 内联函数与宏定义的区别举例
- 面试常见的几个宏的定义
- 几个经常用到的字符串的截取
- 几个经常用到的字符串的截取
- 几个经常用到的字符串的截取
- 几个经常用到的字符串的截取
- 几个经常用到的字符串的截取
- 几个经常用到的字符串的截取
- 几个经常用到的字符串的截取
- 几个经常用到的字符串的截取
- XML的命名空间
- 软件模块划分原理
- 内存比较函数 - CompareMem(文件、数组等比较)
- 学习PHP重在坚持
- FAQ_09_android支持Java特性
- 几个经常被举例的宏定义
- EXTJS 滚动条之数据加载进度
- 目前开发Django的CMS存在的问题
- 算法导论--第六章学习笔记
- 在编译内核的时候出现了make menuconfig的错误
- 工厂如何选购电烙铁 (组建无铅焊台)
- struts学习笔记(2)
- flash视频学习网址
- C++ 复制控制