下载此文档

CC 函数参数传递方式.doc


文档分类:IT计算机 | 页数:约6页 举报非法文档有奖
1/6
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/6 下载此文档
文档列表 文档介绍
C / C++函数参数传递方式

在这种情况下传给形参的是变量的值。传递是单向的,即如果在执行函数期间形参的值发生变化,并不传回给实参,这就是值传递方式。因为在调用函数期间,形参和实参不是同一个存储单元。
void main()
{ void swap(int,int); //参数为整型变量
    int i=3,j=4;
    cout<<"i="<<i<<",j="<<j<<endl;
    swap(i,j);//变量名
    cout<<"i="<<i<<",j="<<j<<endl;
}
 void swap(int a,int b)
{ //形参为整型变量
     int temp;
     temp=a;
     a=b;
     b=temp;
}
结果:
i=3,j=4
i=3,j=4
执行函数swap后,形参a和b的改变不会影响实参i和j的值。
2. 形参为指针变量
形参是指针变量,实参是一个变量的地址,调用函数时,形参(指针变量)指向实参变量单元。
void main()
{ void swap(int *,int *);//参数为整型指针变量
   int i=3,j=4;
   cout<<"i="<<i<<",j="<<j<<endl;
   swap(&i,&j);//变量地址
   cout<<"i="<<i<<",j="<<j<<endl;
}
void swap(int *p1,int *p2)
{ //形参为整型指针变量
     int temp;
     temp=*p1;
     *p1=*p2;
     *p2=temp;
}
结果:
i=3,j=4
i=4,j=3
调用函数时把变量i和j的地址传送给形参p1和p2,因此*p1和i为同一内存单元,*p2和j是同一内存单元。
这种方式还是值传递,只不过实参的值是变量的地址而已。而在函数中改变的是实参地址所指向的变量的值。
3. 引用形参
int main()
{ void swap(int &,int &);//参数为整型变量的引用
    int i=3,j=4;
    cout<<"i="<<i<<",j="<<j<<endl;
    swap(i,j);//变量名
    cout<<"i="<<i<<

CC 函数参数传递方式 来自淘豆网m.daumloan.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数6
  • 收藏数0 收藏
  • 顶次数0
  • 上传人changjinlai
  • 文件大小90 KB
  • 时间2018-05-12