搜索
写经验 领红包
 > 房产

c语言ilie关键字的作用(c

导语:C语言inline关键字

一、inline关键字的概念

inline关键字是C99标准的型关键字,其作用是将函数展开,把函数的代码复制到每一个调用处。这样调用函数的过程就可以直接执行函数代码,而不发生跳转、压栈等一般性函数操作。可以节省时间,也会提高程序的执行速度。

二、为什么需要内联函数

在C语言中,如果一些函数被频繁的调用,不断地用函数入栈,即函数栈,则会造成栈空间或者栈内存的大量消耗,为了解决这个问题,特别的引入了inline关键字,表示为内联函数。栈空间指的是函数内数据的内存空间,在一个系统下,栈空间的资源是有限的,假如频繁大量的使用就会因栈空间的不足而导致出错,函数的死循坏递归调用的最终结果就是导致栈内存空间的枯竭。

实例:

34;奇&34;偶&34;i:%d    奇偶性:%s /n&define关键字是一个预处理关键字

参数类型检查

inline()函数是一中函数,会进行严格的参数类型检查

不会检查参数类型,只是做简单的字符串替换,因此在使用带参数的宏时会有一些副作用,编写程序是要人为预防

是否允许有复杂语句

不允许出现复杂语句,如果出现复杂语句,该函数将不会展开,例如递归,大型循环等

对此不做要求。宏只是做字符串替换操作,而不了解语句的含义

是否一定被展开

不一定,是否展开由编译器决定

一定,只要使用了宏就可以保证被展开

inline和define由预处理器处理,进行简单的文本替换,没有任何编译过程。

本文内容由小涵整理编辑!