c语言中缺省
1、形参的类型是不能省略的。函数的存储类型就是函数定义时函数名前面的数据类型前面的存储类型,缺省时应该是:extern
,表示该函数属外部函数(即可以被本C文件外的其他C源程序文件中的函数调用)。
2、对于自定义函数,可使用缺省参数来达到某一程度的“重载”等功能,缺省参数只能放在函数声明中,因为编译器必须在使用前知道缺省值。只有函数参数列表后部参数能够缺省,一旦在某一位置使用缺省参数值后,自此位置以后皆为缺省参数值。
缺省参数可以让参数没有标识符,在C++中,函数定义是,不一定需要标识符:
void
f(int
number,
int
=
0,
float
=
1.1f);
void
f(int
number,
int
,
float
f){/*
....
*/}
在此函数体中,number与f可被引用,但没有标识符的int则不行,调用时如f(0)(此时函数的参数列表为(0,0,1.1))或f(0,1,2)。这种语法允许我们将一个参数作为占位符而不去使用它,其目的在于我们以后可以修改函数定义而uxuyao修改所有的函数调用(存在参数名没有使用编译器将给出一个警告),更重要的是当我们开始使用一函数参数后发现不需要它时,我们可以高效地将它删除而不会产生警告错误,并且不需要修改函数那些调用函数以前版本的程序代码。
2. c语言中形参的缺省存储类别是
c语言中形参或者说所有的变量,缺省的存储类别都是auto的。C语言中四种存储类别:auto、static、extern、register 。
其中大部分均为auto,auto为默认的类别,一般未标明的都是auto;如果标明了哪种类别,那就按标明的来。
(2)c语言中缺省扩展阅读:
形参的作用是实现主调函数与被调函数之间的联系,通常将函数所处理的数据,影响函数功能的因素或者函数处理的结果作为形参。
没有形参的函数在形参表的位置应该写int main(void) 函数也可以有形参和返回值,其形参也称为命令行参数,由操作系统在启动程序时初始化,其返回值传递给操作系统。
形参的特点:
1、形参变量只有在被调用时才分配内存单元,在调用结束时,即刻释放所分配的内存单元。因此,形参只在函数内部有效。函数调用结束返回主调用函数后则不能再使用该形参变量。
2、实参可以是常量、变量、表达式、函数等,无论实参是何种类型的量,在进行函数调用时,它们都必须有确定的值,以便把这些值传送给形参。因此应预先用赋值,输入等办法使参数获得确定值。
3、实参和形参在数量上,类型上、顺序上应严格一致,否则就会发生类型不匹配的错误。
4、在一般传值调用的机制中只能把实参传送给形参,而不能把形参的值反向地传送给实参。因此在函数调用过程中,形参值发生改变,而实参中的值不会变化。而在引用调用的机制当中是将实参引用的地址传递给了形参,所以任何发生在形参上的改变实际上也发生在实参变量上。