C语言

JAY CC 2020-04-14 06:07:24
为什么第一个程序成功的把值交换了,而第二个程序的值没有交换,是因为第一个程序定义的是指针变量的值吗,这是哪块的知识点啊,求助
...全文
92 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
千梦一生 2020-04-15
  • 打赏
  • 举报
回复
这种定义声明方式第一次见,长见识了。
刚学习了一下,虽然是被后来的标准所兼容。不过建议用新一些的方式
JAY CC 2020-04-14
  • 打赏
  • 举报
回复
引用 1 楼 寻开心的回复:
函数一章, 形参和实参
ok好的哥
JAY CC 2020-04-14
  • 打赏
  • 举报
回复
引用 2 楼 Italink的回复:
记住一条定律:无论函数形参如何改变,实参都不会变 函数传参其实是将实参复制一份作为形参,函数内部其实只是对实参的复制进行操作 那为什么第一个能改变呢?因为传的是指针,指针里存放的是数据的地址,通过函数传参,形参就是复制了一个实参(指针),但这个指针跟实参是指向同一个地方的,因此在函数内部使用*b,就能访问到这片数据区域,从而进行修改,回到定律,我们修改了形参的值吗?没有吧,我们只是通过形参里存放的地址,去访问并修改它,归根结底没有修改形参的值 而你第二个为什么没变?上面已经说你,你操作的其实是实参的一份复制
好的谢谢😜,我下去再看看,明天把帖结了
JAY CC 2020-04-14
  • 打赏
  • 举报
回复
引用 3 楼 白色一大坨的回复:
这都不会还考二级,你开玩笑呢
牛皮大佬,能告诉我怎么屏蔽人吗
Italink 2020-04-14
  • 打赏
  • 举报
回复
记住一条定律:无论函数形参如何改变,实参都不会变 函数传参其实是将实参复制一份作为形参,函数内部其实只是对实参的复制进行操作 那为什么第一个能改变呢?因为传的是指针,指针里存放的是数据的地址,通过函数传参,形参就是复制了一个实参(指针),但这个指针跟实参是指向同一个地方的,因此在函数内部使用*b,就能访问到这片数据区域,从而进行修改,回到定律,我们修改了形参的值吗?没有吧,我们只是通过形参里存放的地址,去访问并修改它,归根结底没有修改形参的值 而你第二个为什么没变?上面已经说你,你操作的其实是实参的一份复制
寻开心 2020-04-14
  • 打赏
  • 举报
回复
函数一章, 形参和实参

69,382

社区成员

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

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