2016 - 2024

感恩一路有你

c语言指针作为函数参数传递 在C语言里只有指针作为形参才能改变实参的值吗?

浏览量:2738 时间:2021-03-16 22:03:10 作者:admin

在C语言里只有指针作为形参才能改变实参的值吗?

准确地说,修改参数的地址可以改变参数的值。指针传递地址,因此可以更改。函数的形式参数接受和指针变量。如果你传递地址,你不必是指针就可以直接得到变量的地址

你需要使用*来取消引用,这样你就可以改变指向内存的指针的值。你的交换功能有问题。有人给了你正确的写作方法。至于为什么*x和*y的值没有改变,因为你交换了两个形式参数的值。尽管您传入了指针,但并不将它们用作指针。最终结果与传递非指针值的结果相同。如果要真正更改参数的值,必须交换指针指向的内存,而不是简单地交换指针变量本身。形式参数通过堆栈传递。只有使用*x=1这样的语句来操作指针指向的内存,才能影响实际参数。否则,实际参数的值不会改变。其实最好的办法就是去VS调试运行,仔细观察运行过程,就可以更清楚地理解指针。一个简单的理论是站不住脚的,一出来就很清楚了。我想帮助你。

c语言指针作为函数参数传递 c语言指针占几个字节 指针变量作为函数参数

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。