【C语言应该注意的那些事】之 一 :函数式宏定义
来源:互联网 发布:4g网络覆盖地区 编辑:程序博客网 时间:2024/05/17 10:52
函数式宏定义小心使用会显著提高代码的执行效率,毕竟省去了分配和释放栈帧、传参、传返回值等一系列工作,因此那些简短并且被频繁调用的函数经常用函数式宏定义来代替实现。
#define MAX(a,b) ((a)>(b)?(a):(b))
k =MAX(i&0x0f, j&0x0f)
这就是一个简单的函数式宏定义。
函数式也经常写成这样:
#define device_init_wakeup(dev,val) \
do { \
device_can_wakeup(dev) =!!(val); \
device_set_wakeup_enable(dev,val); \
} while(0)
这里要特别声明一下:
上面代码中换行需要永达“\”转移字符,这与c代码中明显不同:c代码中可以直接换行。
因为这是c语言特有的特性决定的----------换行在C代码中只不过是一种空白字符,在做语法解析时所有空白字符都已经丢掉了
- 【C语言应该注意的那些事】之 一 :函数式宏定义
- C语言中宏函数定义的注意点
- 那些我们不曾注意的C语言小众知识(一)
- C语言宏定义和宏定义函数 <一>
- C语言开发应该注意的问题
- 学C语言应该注意的
- c语言宏定义的使用(一)
- C语言的那些小秘密之指针(一)
- C语言的那些小秘密之【指针(一)】
- C语言的那些小秘密之【链表(一)】
- C语言的那些小秘密之函数指针
- C语言的那些秘密之---函数返回局部变量
- C语言的那些秘密之---函数返回局部变量
- C语言的那些秘密之---函数返回局部变量
- C语言的那些秘密之---函数返回局部变量
- C语言的那些秘密之---函数返回局部变量
- C语言的那些小秘密之【函数指针】
- C语言的那些秘密之---函数返回局部变量
- 将textbox中的光标移动到当前输入的文本后
- 自定义实现圆形播放进度条
- 静态成员变量和成员函数小结
- 黑马程序员-------JAVA图文复习十一
- .NET using关键字
- 【C语言应该注意的那些事】之 一 :函数式宏定义
- Ubuntu中把窗口的菜单从顶部工具条挪回窗体本身,禁用全局菜单(global menu)
- Ubuntu:瑞昱AR8161网卡驱动安装
- github常用指令
- 八年程序员之书籍篇--Algorithm(三):算法设计技术
- 如何在Silverlight里实现隐式样式
- python字符串操作
- Another Eight Puzzle
- 黑马程序员-------JAVA图文复习十二