C语言(函数与宏)
来源:互联网 发布:南宁java培训多少钱 编辑:程序博客网 时间:2024/05/20 00:15
普通函数的调用需要切换上下文的时间开销,因此如果一个函数非常短而且执行非常频繁,你应该考虑将其设计为内联函数,或者C语言的宠儿:宏。
拓展:
实际上,宏和函数并不能完全彼此替换,因为宏参数跟函数参数不同,宏参数传递的是一个单纯的没有类型的标识符名字,而函数参数传递的是一个带数据类型的数值。
比如下面的宏就无法用函数来替换:
#define PRINT(member) printf("%p\n", &((some_struct *)0)->member);
上例中宏参数member是某结构体中的成员,数据类型不定,宏的功能是打印出该成员在其结构体中的位置偏移量。
0 0
- C语言(函数与宏)
- C语言:变量与函数
- C语言数组与函数
- c语言--函数与递归
- c语言函数与指针
- C语言函数与字符串
- C语言宏定义函数与函数的区别
- exit函数与return函数(c语言)
- C语言中的函数指针与指针函数(续)
- 函数与程序结构&数组与指针(C编程语言)
- C语言函数名与函数指针
- C语言:malloc()函数与alloc()函数
- C语言:malloc()函数与alloc()函数
- C语言函数名与函数指针
- C语言getchar()函数与putchar()函数
- C语言函数指针与指针函数
- C语言,函数指针与指针函数
- C语言 sprintf()函数 与 printf()函数
- 排它平方数
- bitset+DFS序+线段树 Codeforces633G Yash And Trees
- Android Studio初体验之导入eclipse项目
- sudo:无法解析主机
- Study Note: Instruction Optimisation of CUDA programming
- C语言(函数与宏)
- nodejs request & response 对象
- Gradle笔记——构建基础
- Spring进阶之路(2)-ApplicationContext容器以及事件机制
- java 知识体系
- Visual Studio配置VLFeat库
- 读《深入php面向对象、模式与实践》有感(一)
- JavaScript--Map和Set介绍
- V-Play 文档翻译 App