函数的形参与实参实际上是一个“="的赋值关系,明白了这一点对于就更容易理解一些复杂的形实参的形式,如
函数定义:
int splitfloat(float x, int * intpart,float *fracpart)
{
*intpart = int(x);
*fracpart = x - *intpart;
}
调用的时候:
splitfloat( x , &n, &f );
分析:1.函数采用了两个指针作为参数,在调用时使用变量的地址作为实参,形实结合时,子函数的intpart值就是n的的地址,因此函数中*intpart的值改变,也会影响到n的值,此时int * intpart,float *fracpart既是形参,同时也是返回值。这就实现了一个函数的多返回,这是return所不能做到的。
2.在调用函数的时候,怎么确定函数的形式呢?技巧:用”等号“确定,如 本例中float x=x;int* intpart = &n;float* fracpart = &f;