一、缺省参数概念
缺省参数是声明或定义函数时为函数的参数指定一个默认值。在调用该函数时,如果没有指定实参则采用该默认值,否则使用指定的实参
1 2 3 4 5 6 7 8 9 10 11 12 |
|
有什么用
比如在 C 语言中有个很苦恼的问题是写栈时,不知道要开多大的空间,之前我们是如果栈为空就先开 4 块空间,之后再以 2 倍走,如果我们明确知道要很大的空间,那么这样就只能一点一点的接近这块空间,就太 low 了。但如果我们使用缺省,明确知道不需要太大时就使用默认的空间大小,明确知道要很大时再传参
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
|
二、缺省参数分类
全缺省参数
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
|
注意:
全缺省参数只支持顺序传参
半缺省参数
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
|
1 |
|
注意:
- 半缺省参数必须从右往左依次来给出,且不能间隔着给
- 缺省参数不能在函数声明和定义中同时出现
- 缺省值必须是常量或者全局变量
- C 语言不支持缺省