更新时间:2017-07-25 16:26:54浏览次数:1+次
void dofun(int a,int b)
{
printf("a:%d,b:%d,a+b=%d\n",a,b,a+b);
}
void dofun2(int a,int b,int c)
{
printf("a:%d,b:%d,c:%d,a+b+c=%d\n",a,b,c,a+b+c);
}
void dofun3(int a,int b,float c)
{
printf("a:%d,b:%d,c:%.2f,a+b+c=%.2f\n",a,b,c,a+b+c);
}
这组函数的调用如下:dofun(100,1);
dofun2(100,1,300);
dofun3(100,1,30.14);
这样的函数声明形式,会导致在每使用一种情况的时候,都要重新定义函数。假如你这样定义一个函数:void DoFun(void * var1,void * var2,void * var3)
{
int a=*((int*)var1);
int b=*((int*)var2);
int c=*((int*)var3);
///执行后续的处理
}
然后调用的时候是这样:int a=100;
int b=50;
int c=54;
DoFun(&a,&b,&c);
这样一来,DoFun函数的调用就可以固定为一个用法。在今后函数参数有变的时候,我们可以不修改函数的调用方式,只需要修改传入的参数的类型,然后在DoFun内开头位置对传入的参数进行类型转换,就可以使用了。相关资讯