关于C语言地址传递的理解 不知对不对

来源:百度知道 编辑:UC知道 时间:2024/06/14 11:38:42
我一直搞不懂C语言的地址传递与值传递问题 苦思冥想之后想到了点东西不知对不对请大家给点指教

在c语言中实参传递给形参传递地址时 地址值作为传递内容 地址所指向的数值没有传递 当在被调用函数中对地址的运算的时候 可以对地址所指向的内容进行运算,当被调用函数运行完之后形参被释放 但是地址所指向的内容已经改变了 不知道我说的对不对,你能不能明白 请给出指点

正确!

不过你不介意我给你个比方吧,呵呵

传地址或者引用: 1号抽屉里有一张文件,我找到抽屉,取出直接进行修改啦,查看啦之类的,用完了,放回去。

传值: 还是那个抽屉里有一张文件,我现在准备了一张空白的纸,找到那个抽屉,拿出来,复印到我现在的空白纸上,然后把原稿放回去,现在我对我现在复印的纸进行操作,修改啦,查看啦。。。。等函数或者作用域结束了,我就拿它当卫生纸啦,玩火火啦。。。反正给它销毁了,就如此简单,不需要你考虑多复杂的 呵呵

一起学习

形参等于说是一个函数内的一个变量地址,实参传递给形参的时候,等于说把实参的内容复制一份到形参的地址去。
(当在被调用函数中对地址的运算的时候 可以对地址所指向的内容进行运算,
但是却没有对实参进行改变,改变的只是形参的地址里的内容,除非你把形参的地址赋值为实参的地址)
总的来说,形参是一个地址,正常的传递的时候,是复制一份实参的内容到形参的地址去。
然后函数对形参地址指向的内容进行操作。
当然,你将实参的地址赋值给形参地址时候,
函数操作形参就等于操作了实参。这个时候,实参的内容才能被改变。
这就是通常所说的引用和指向指针的指针了,都是为了达到对实参的操作。

对呀,你已经理解啦