1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > 带默认参数值的函数 内联函数

带默认参数值的函数 内联函数

时间:2020-07-02 09:29:06

相关推荐

带默认参数值的函数  内联函数

内联函数:

如果在声明函数时使用关键字inline,编译时会在调用处直接用函数体进行替换,而不是调用函数

既然是直接替换,那么里面肯定不能有循环语句,switch语句等

注:①内联函数可以避免函数调用,节省参数传递、控制转移等开销

②一般编译器自带优化,对于充分简单的函数,编译器可以自动把函数编译成inline的

带默认参数值的函数:

可以预先设置默认的参数值,调用时如给出实参,则采用实参值,否则采用预先设置的默认参数值

如下程序(代码中有注释)

#include<stdio.h>inline int Add(int x, int y=1, int z=2);//可以预先设置默认的参数值,调用时如给出实参,则采用实参值,否则采用预先设置的默认参数值/*有默认参数的形参必须列在形参列表的最右边,即默认参数值的右面不能有无默认值的参数,如下面的定义就是非法的int Add(int x=2, int y, int z=2)//错误!{return x+y+z;}*/int main(void){int d, c;scanf("%d%d", &c, &d);printf("%d\n", Add(c, d));//ans = c+d+2printf("%d\n", Add(c));//ans = c+1+2printf("%d\n", Add(c, d, 100));//ans = c+d+100//不允许Add(),这样会编译报错,因为函数中的第一个形参没有给默认值return 0;}int Add(int x, int y, int z)//如果原型声明在函数定义之前,那么默认参数必须且只能在原型声明中给出{return x+y+z;}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。