c语言数值交换问题

BeastWorld 2014-03-21 10:56:06
我知道调用函数有传址和传址的区别 可是这个该怎么解释呢 目测都是传址啊 都用到指针 为什么前者交换了数据,后者没有呢 求详细解释啊 小弟感激不尽!!
...全文
350 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
iamkconghua 2014-03-23
  • 打赏
  • 举报
回复
函数的参数传递方式,教科书上一般说有三种:值传递,引用传递,指针传递;其实本质上看,只有两种:值传递和引用传递,指针传递的本质还是值传递。 详细解释,可参见如下视频: 4.03.C语言_函数_值传递 http://www.tudou.com/listplay/z5u9lwXuPKU/JYlkMDiWrIE.html 4.04.C语言_函数_引用传递 http://www.tudou.com/listplay/z5u9lwXuPKU/5Lax5EAM10w.html 4.05.C语言_函数_指针传递 http://www.tudou.com/listplay/z5u9lwXuPKU/_nFpuooNZrU.html
BeastWorld 2014-03-23
  • 打赏
  • 举报
回复
恩 懂了 感谢各位 因为我这分本来就不多 还有各位回答都很到位 我一直心存感激的 因为你们都给我了帮助 分数只好平均着给了 下次不懂得地方我会先查看以前的帖子的 一时心急忘了 没想起来看以前的哈 再次感谢你们!
relaxisland 2014-03-22
  • 打赏
  • 举报
回复
所谓的值 跟 指针 是相对的 要交换值,需要传它的指针, 要交换指针, 需要穿他的指针,也就是指针的指针
allenltiverson 2014-03-22
  • 打赏
  • 举报
回复
指针变量说白了也还是值传递,只不过是地址的复制,你可以通过地址修改指向数据的值,但是在函数内部交换指针的值,只是将函数内的变量的地址进行了交换,对外面的指针是没有影响的,
baichi4141 2014-03-22
  • 打赏
  • 举报
回复
我觉得“传值”和“传址”这两种说法本身就是最大的误人子弟 传参就是复制,至于传的指针是用来干嘛的,跟传参本身没关系
rendason 2014-03-22
  • 打赏
  • 举报
回复
其实交换两个数用到的指针的知识在几乎所有的入门书籍中都有讲到,楼主不用急着看一些专业的书,打好基础更要紧。
勤奋的小游侠 2014-03-22
  • 打赏
  • 举报
回复
谭浩强的<C语言程序设计>
百曉生 2014-03-22
  • 打赏
  • 举报
回复
关于怎么用指针传值,lz可以看看这个——http://blog.csdn.net/u012421456/article/details/21803797 至于书,我是没看过几本,就不推荐了,看别人吧 其实lz可以搜一些论坛上的帖子,这样的问题有人问过的
BeastWorld 2014-03-22
  • 打赏
  • 举报
回复
恩 看了各位的解释后 才明白我理解的太狭隘了 我也觉得好多细节理解不透,推荐本书呗 感激不尽哈
rendason 2014-03-21
  • 打赏
  • 举报
回复
调用函数时的参数都是实际参数的一个复制品,指针也不例外,当你向一个函数传一个指针时,函数使用的是这个指针的复制品,第一个图中的函数,虽然传进函数的一个指针的值,但是函数是根据这个值找到内存中的地址对应的变量,所以可以修改值,第二个图只是把指针的值复制了一下,没有改变原来变量的值。其实书上都有详细的讲解,楼主可以看看书

69,368

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧