一。值传递   int func(int p)

值传递会在栈中开辟一块空间 p,使得p和实参的a 同值。

此时你在函数func里面对p进行任何操作都不会对原值a产生任何影响。因为a 和p本就就是两个变量只是保存的值相同而已,除此之外没有任何关系。

要向对原值操作程序使用以下两种传参方式:

二。址传递   int func(int *p)

按址传递的本质就是按值传递。

此时会在栈中产生一个指针p 来保存a的地址,然后通过这个地址来找到原值a.之后所有的操作都是对原值进行操作。

三。引用传递   int func(int &p)

引用传参并不会在栈中产生P,p就是a的一个别名,a就是p p就是a ,所有对P的操作就是对a的操作。

引用传递和地址传递都可以对原值进行操作,两者的区别是:地址传递是会在栈中开辟一个指针,占用内存空间。

原文地址:http://tieba.baidu.com/p/4764651702

最新文章

  1. CSS预处理器Sass、LESS 和 Stylus
  2. XBOX ONE游戏开发常见问题
  3. GBDT(MART) 迭代决策树入门教程 | 简介
  4. bug
  5. EF调用函数日期查询
  6. UI特效--Android利用ViewFlipper实现屏幕切换动画效果
  7. memcached全面剖析--3
  8. MySQL for Excel用法
  9. Oracle的海量存储技术
  10. Python之编码
  11. 用TCP IP从C#实时传数据到Matlab
  12. codeforces472C
  13. Java基础3-数组操作;类概述
  14. cc攻击和ddos攻击
  15. 微信 H5 支付流程以及一些坑
  16. Ubuntu pkg_resources.DistributionNotFound: The 'Scrapy==1.0.3' distribution was not found and is required by the application
  17. centos添加额外测源,解决:No package openvpn available.
  18. 【第二十九章】 springboot + zipkin + mysql
  19. ele
  20. alpha冲刺(事后诸葛亮)

热门文章

  1. 时下世界上最先进的液晶面板技术---ips
  2. 关于html的小bug
  3. WebView中打开相机,文件选择器的问题和解决方法
  4. 你可能不知道的5个功能强大的 HTML5 API
  5. webview300毫秒点击问题
  6. 【CodeM初赛B轮】A 贪心
  7. 【BZOJ2741】【FOTILE模拟赛】L 分块+可持久化Trie树
  8. 【bzoj2226】[Spoj 5971] LCMSum 欧拉函数
  9. python的协程和_IO操作
  10. vue前戏ES6