C++函数间数据传递方式
来源:互联网 发布:东方日升数据造假 编辑:程序博客网 时间:2024/06/07 17:05
C++数据传递的三种方式:
①值传递(传值)
②指针传递(传址)
③引用传递(引用) 引用 是C++相对于C新加的
说明:引用和传址其实一回事,最终的效果,就是函数使用地址改变了外部对象。 引用通过变量名和取址符(&)完成,传址通过指针完成。
</pre><span style="color: rgb(102, 0, 204); font-family: 宋体, Arial; font-size: 16px; line-height: 26px;">①值传递(传值)</span><pre name="code" class="cpp">#include <iostream>using namespace std;void f(int a) { cout<<"a= "<<a<<endl; a=5; cout<<"a= "<<a<<endl;}int main () { int x=47; cout<<"x= "<<x<<endl; f(x); cout<<"x= "<<x<<endl;}
接口
void f(int a)
f(x);
函数参数只要求传入的是int型的变量。
函数调用时,只用到变量名本身。
②指针传递(传址)
#include <iostream>using namespace std;void f (int * p){ cout<<"p= "<<p<<endl; cout<<"*p= "<<*p<<endl; *p=5; cout<<"p= "<<p<<endl;}int main() { int x =47; cout<<"x= "<<x<<endl; cout<<"&x= "<<&x<<endl; f(&x); cout <<"x= "<<x<<endl;}
接口
void f (int * p)
f(&x);
函数参数表明是一个int型的指针。
函数调用时,所以使用了取址符(&)。指针是存地址的变量,换句话,指针就是地址。所以需要加上取址符。这也是为什么叫做传址。
&x,就是将x的地址传给函数,而不是x自己。
#include <iostream>using namespace std;void f(int & r) { cout << "r= "<<r<<endl; cout <<"&r= "<<&r<<endl; r=5; cout<<"r= "<<r<<endl;}int main() { int x=47; cout << "x= "<<x<<endl; cout<<"&x= "<<&x<<endl; f(x); cout<<"x= "<<x<<endl;}void f(int & r)
f(x);
跟传值的形式类似。但是函数f的参数类型不一样,使用了int&表示传入的变量将以引用的方式处理。也就是说,相当于引用了变量x的地址到函数里,在本函数内的操作,仍然使用变量名x操作,只不过将会影响到变量本身。
说明:①:引用被创建的同时必须被初始化
②:指针则可以在任何时候初始化
0 0
- C 函数传递方式
- C++函数间数据传递方式
- 【C++】函数的传递方式
- C/C++:函数参数传递方式
- 函数参数传递方式(c/c++)
- c/c++函数调用传递方式比较
- C/C++函数参数传递方式
- c指针与函数参数传递方式
- C语言中函数的数据传递
- C/C++:函数参数传递方式(转)
- C语言和JAVA一样,函数参数传递方式都为值传递方式
- Android中activity间数据传递方式
- Android页面间数据传递方式
- Json数据 传递方式
- Android 数据传递方式
- Servlet传递数据方式
- Android数据传递方式
- C语言函数参数的传递方式[原]
- 测试
- flex+hibernate实现SQLserver的增删改查
- shell中的多进程【并发】http://bbs.51cto.com/thread-1104907-1-1.html
- 字符编码方面
- ViewPager滑动页面
- C++函数间数据传递方式
- 2012年5月SAT香港真题解析
- checkbox的常用操作
- Eclipse中设置编码的方式
- hdu 3491 Thieves
- 关于左侧面板中滚动条信息(怎么在不知情的情况下查看页面每个模块的信息)
- Zookeeper之Zab协议介绍(一)
- Flip Game
- IIS7.5 安装Drupal之Error 500问题的解决