当前位置:鱼C工作室 >带你学C带你飞 > 查看文章

第一季:语法基础 – 内联函数和一些鲜为人知的技巧 | 带你学C带你飞S1E41

内联函数和一些鲜为人知的技巧

 

让编程改变世界

Change the world by program


 

内联函数

 

C语言引入内联函数来解决程序中函数调用的效率问题。

 

普通函数的调用:

11

 

内联函数的调用:

22

 

不过内联函数也不是万能的,内联函数虽然节省了函数调用的时间消耗,但由于每一个函数出现的地方都要进行替换,因此增加了代码编译的时间。另外,并不是所有的函数都能够变成内联函数。现在的编译器也很聪明,就算你不写 inline,它也会自动将一些函数优化成内联函数。

 

总结:编译器比你更了解哪些函数应该内联哪些不能内联,所以这个知识点你只需要知道就好……

 

…… 此处省略N多内容,具体请看视频讲解 ……

 

# 和 ##

 

# 和 ## 是两个预处理运算符(注意,不是表达式运算符)。

在带参数的宏定义中,# 运算符后面应该跟一个参数,预处理器会把这个参数转换为一个字符串。

## 运算符被称为记号连接运算符,我们可以使用 ## 运算符连接两个参数。

 

…… 此处省略N多内容,具体请看视频讲解 ……

 

可变参数

 

之前我们学习了如何让函数支持可变参数,带参数的宏定义也是使用可变参数的:

#define SHOWLIST(…) printf(#__VA_ARGS__)

其中…表示使用可变参数,__VA_ARGS__在预处理中被实际的参数集所替换。

 

…… 此处省略N多内容,具体请看视频讲解 ……

 

【课后作业】S1E41:内联函数和一些鲜为人知的技巧 | 课后测试题及答案

【知识点备忘】S1E41:内联函数和一些鲜为人知的技巧


为您推荐

报歉!评论已关闭.