黑马程序员——c语言学习心得——函数的传引用调用和传值调用
------<a target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------
传值调用建立参数的一份拷贝并把它传给调用的函数,在调用函数中修改参数值的拷贝不影响原始的变量值;传引用调用允许调用函数修改原始变量的值。
C语言用指针*和间接引用运算符&模拟传引用调用,数组会自动模拟传引用调用。传引用调用可以在被调用函数中修改调用函数环境中的参数变量,传值调用保护数据。
(1)传值调用
int cubeByValue(int);
main()
{ int num=5,result;
result=cubeByValue(num);
}
int cubeByValue(int n)
{
return n*n*n;
}
(2)传引用调用
int cubeByValue(int *);
main()
{ int num=5,result;
cubeByValue(&num); //传递num的地址给nPtr
printf("%d",num);
}
int cubeByValue(int * nPtr)
{
*nPtr=*nPtr * *nPtr * *nPtr;
}
int array[size];
void modifyarray(int [],int );
void midifyarray(array,size)
{
void swap( int *,int *);
......
}
注意:可把函数原型swap放在调用函数midifyarray中定义,如上所示,保证只能在调用函数m中才能正确地调用swap。
------<a target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------
|