内联函数
1.什么是内联函数
在C语言中,如果一些函数被频繁调用,不断的有函数入栈,即函数栈,会造成栈空间和栈内存的大量消耗,为了解决这一问题,特别引入了inline修饰符,表示为内联函数。
2.为什么要引入内联函数
引入内联函数是为了解决程序中函数调用的效率问题,因为函数的调用有一定时间和空间方面的开销,将会影响其效率,特别是对于一些函数代码不是很大, 但又频繁调用的函数来讲,解决其效率更加重要,引入内联函数就是为了解决这一问题
3.内联函数的编写风格
关键字inline必须与函数定义体放在一起才能使函数成为内联函数,仅将inline放在函数声明前面不起任何作用
4.inline的使用限制
inline只适合函数体内代码简单的函数使用,不能包含复杂的结构控制语句例如while,switch,并且内联函数本身不能是直接递归函数(自己内部还调用自己的函数)
5.使用内联函数时的注意事项
- 递归函数不能定义为内联函数
- 内联函数一般适合于不存在while和switch等复杂结构且只有1~5条语句的小函数上,否则编译系统将该函数视为普通函数
- 内联函数只能先定义后使用,否则编译系统会把它认为普通函数
对内联函数不能进行异常的接口声明
6.为什么要引入内联函数
引入内联函数是为了解决程序中函数调用的效率问题,因为函数的调用有一定时间和空间方面的开销,将会影响其效率,特别是对于一些函数代码不是很大, 但又频繁调用的函数来讲,解决其效率更加重要,引入内联函数就是为了解决这一问题
7.内联函数的优缺点
优点