缺省参数通俗来说就是一个函数里面有初值的参数。有初值那么就可以不传参。
基础语法
缺省分为全缺省和半缺省
全缺省
我们来看它的基础语法,我们以add函数为例:
语法基础就是在给要规定成缺省参数的变量后面=一个值
我们可以看到给add传参就会使用默认的数据。
半缺省
半缺省就是既有实参(不是缺省参数)又有缺省参数的。它的语法是差不多的,但是缺省参数和非缺省参数的顺序是有规定的,我们看下面注意事项。
注意事项
这里定义半缺省参数不是随便定义的,比如第一个定义缺省参数,第二个就不定义为缺省参数,这样是错误的。
这里规定:
我们的缺省参数全部靠右边,我们定义了缺省参数后后面的参数就不能是实参了,如图理解
这是规定成这样的,而我的理解是:这样规定,函数传参就都是这样的:add(a,b,c)
如果不是这种规定,那么传参就是add(a, ,b,c, , , ,d),这样写会觉得很乱,所以按上面方法是有调理性的。
缺省参数的用途
我们编写顺序表数据结构的时候,会有一个初始的内存创建,那么我们就可以定义一个缺省参数来决定我们开始开辟多少个内存。
如果我们不清楚开多少,我们就可以把初始值设为4,如果我们清楚是要插入1k个数据,那么直接初始化1k个就行了。
这样的好处就是,我们直接创建1k个数据可以避免我们频繁使用realloc来扩容,这样定义直接避免了扩容带来的性能损耗。
另外其他的例子等待大家去发掘。