A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

黑马程序员——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>、期待与您交流! -------

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马