函数默认形参

默认形参值的作用:

函数声明时可以预先给出默认的形参值,如果函数调用是给出实参值,则使用实参值,否则采用预先给出的默认形参值。

int add(int x=5,int y=6)

{   return  x+y;

}

void main(void)

{   add(10,20); //10+2

    add(10); //10+6

    add(); //5+6

}


默认形参值的说明次序:

必须从右到左的顺序声明,默认形参值的右边不能有非默认形参值的参数,因为函数调用的时候实参是从左到右传递的。

int add(int x,int y=5,int z=6); //正确
int add(int x=1,int y=5,int z); //错误
int add(int x=1,int y,int z=6); //错误


默认形参值与函数调用的位置

如果在函数调用之前仅有声明,调用之后才定义实现的,则在声明中就要给出默认形参值。

int add(int x=5,int y=6);//声明
void main(void)
{   add(); //调用在实现前
}
int add(int x,int y)//定义实现
{   return x+y;   }


如果在函数调用之前有定义实现,则定义实现时直接给出

int add(int x=5,int y=6)
{   return  x+y;   }
void main(void)
{   add();   //调用在实现后
}


默认形参的作用域

int add(int x=1,int y=2);
void main(void)
{  int add(int x=3,int y=4);
    add();  //使用局部默认形参值(实现3+4)
}
void fun(void)
{   ...
     add();  //使用全局默认形参值(实现1+2)
}









猜你喜欢

转载自blog.csdn.net/shiyuqing1207/article/details/46357275