C语言内联函数

 

内联函数也称内嵌函数,它主要解决程序的运行效率。

#####################问题#########################################
函数调用需要建立栈内存环境,进行参数传递,并产生程序执行转移,这些转移都需要时间开销。
有些函数在程序中使用率较高,但代码却很短。
我们可以在程序当中用表达式替换函数调用,但是降低了函数的可读性。
######################解决方法#################################################
使用内联函数
内联函数必须在被调用前声明或定义。因为内联函数的代码必须在被替换之前已经声称被替换的代码。
注意:
1.在内联函数内不允许用循环语句和开关语句。递归函数是不能用来做内联函数的。
2.内联函数的定义必须出现在内联函数第一次被调用之前。
3.内联函数只适合于1-5行的小函数。对于一个含有很多语句的大函数,函数调用和返回的开销相对来说是微不足道的。

#include <iostream.h> 
inline   int   isnumber(char);                           //   inline   函数声名 

void   main() 
{ 
    char   c; 
    while((c=cin.getc())!= '\n ') 
    { 
        if(   isnumber(c)   )                                   //调用一个小函数 
              cout < < "you   entered   a   digit   \n "; 
        else 
              cout < < "you   entered   a   non-digit   \n "; 
      } 
} 

int   isnumber   (char   ch)                                 //此处无inline,视为inline 
{ 
      return   (ch> = '0 '&&   ch <= '9 ')?1:0; 
} 



 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值