一、什么是缺省参数?
缺省参数是声明或定义函数时为函数的参数指定一个默认值。在调用该函数时,如果没有指定实参则采用该 默认值,否则使用指定的实参。
简单说就是给函数传递参数那就用传参的数,不给传参则用默认的参数
二、怎样实现缺省参数
int add(int a = 10,int b = 20) //全缺省
{
return a + b;
}
int mul(int a ,int b = 10)//局部缺省 当然可以不缺省
{
}
在使用缺省参数的时候要注意两点
1.缺省参数要从右向左缺省
2.在函数定义和声明中缺省参数不能同时出现
3.缺省参数只能是常量不能是变量
4.C语言没有缺省参数
三、实际应用
struct SeqList
{
int* p = NULL;
int sz = 0;
int capacity = 0;
};
void initial(SeqList* s,int inidate = 4)
{
assert(s!=NULL);
int* ptr = (int*)malloc(sizeof(SeqList) * inidate);
s->p = ptr;
s->capacity = inidate;
}
int main()
{
SeqList s;
SeqList d;
initial(&s,20);
initial(&d);
return 0;
}
我们在开辟空间时如果不知道要开辟多少时可以使用默认数,也可以自己决定开辟的数量