问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

C语言指针作函数参数时的返回问题

发布网友 发布时间:2022-04-23 17:51

我来回答

2个回答

热心网友 时间:2023-09-26 16:26

首先,弄懂函数参数都是靠值传递。指针也是。
进入函数后,函数创建几个空间给形参,再把实参数值拷过来。退出函数时,把形参空间释放,则影响不到实参。这就是值传递。
swap(int *p1,int *p2)函数首先创建两个空间,是指针,再把实参复制过来,即p1=pointer_1=&a,p2=pointer_2=&b,改变p1,p2就分别指向了a,b.改变p1指向的值就是改变了a。然后交换*p1,*p2,ab就互换了。函数退出,释放p1,p2所占的内存空间。但是a,b值互换了。swap函数没有改变实参pointer_1,pointer_2的内容,只是借助指针实现了巧妙的乾坤大挪移。

学到c++后有个引用例外,那是后话了。

++++++++++++++++++++++华丽丽的分割线+++++++++++++++++++++

其实很简单,不要硬记规律,要理解了。
第二个例子中swap(int x,int y)没有改变原来实参a,b的值
第一个例子中swap(int *p1,int *p2)也没有改变原来两个实参pointer_1,pointer_2的值,他们值分别是是a,b地址,但pointer_1,2指向的内容改变了,改的是以pointer_1,pointer_2的值为地址的内存单元的值。

热心网友 时间:2023-09-26 16:27

是通过地址传递的,每个变量,在内存中都有一个地址,把这个地址传给其他函数时,你在其他函数中,对这个变量进行修改,因为传递的是地址,所以你在修改这个变量的时候,你修改的其实就是原来的那个,不需要返回了
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
正确的调搓丝板方法 正确的调搓丝板方法介绍 搓丝板失效的多种原因及如何预防? 副职领导签批公文技巧 上级审批意见怎么写 怎么卸摘网吧电脑上的“世界之窗”浏览器 怎么才能卸载世界之窗浏览器? 麻烦帮我翻译两个句子,谢谢,谢谢。 ...结构层次和结构关系 原理讲下 谢谢谢谢 老师讲过了我么听懂啊_百度... 这两个句子的主干是什么,谢谢谢谢 为什么会有人选择一辈子不结婚呢? 指针作函数参数 c语言指针作形参如何才能影响主函数? 汇编语言中指针的作用 C语言中指针的作用是什么? 什么是指针? 指针的作用老鸟来 如何申请工商局商标注册 指针的作用 工商注册、商标注册和标志(图形logo)注册的具体区别在哪? 可以不通过中介,自己去工商局注册商标吗? 去工商局注册商标需要什么 请问注册一个logo的话,自己去工商办理,要多少钱! 个体工商户能注册自己的LOGO吗 在工商局注册一个商标需要哪些详细步骤? 申请的浦发银行信用卡怎么查询办理进度 大热天付费排队真遭罪,成都有哪些免费的景点? PDF转为WORD后,文字中出现多余横线,无法选择、编辑,应怎样删除? 四川周边的免费景点有哪些? Word转换成PDF后,参考文献上出了一条横线,在Word的文献里已经去掉了的,PDF里如何不显示这条线? 求帮忙 为什么我的07版word直接转成PDF后,里面的图片被一道黑杠隔开了 c语言中指针作函数的参数是怎么回事???有点不懂!!! 关于C语言指针作参数的问题。 C语言指针作函数参数中数据的双向传递是什么意思? 剪头发前有必要先洗头吗? ★C语言 指针作函数参数 去发廊剪发,为什么都要先洗头,不洗会怎样?会剪的不好? C语言的指针作函数参数 剪头发前一定要知道的事,别问你什么都不知道 为什么在剪发店剪发前要洗两次头? c语言 请问指针变量可以作实参吗 剪头发前要洗头吗? 洗了头要吹到完全干再去剪头发吗? 为什么剪头发前一定要洗头发 男生剪发型前如何留头发 去理发前是不是要洗头? 剪头发一定要洗头吗 为什么剪头发前要洗头 剪头发前抹的东西 剪头发前要洗头吗,很贵啊 干头发在剪之前为什么要喷湿? 梦见自己和好多人在八窑,好大火,有人从那边掉下去了没摔伤? 大家去理发前会在家洗头吗