问答文章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
《孙子兵法》中哪一手段为上兵 《孙子兵法》中的上兵 10 孙子兵法上兵伐谋是什么意思 描写灶糖的古诗 关于腊八节的诗句古诗(腊八节的诗情画意) 为了事业和生活离家越来越远,古诗词怎么写 平铺机的正确使用方法 用平铺机铺瓷砖会平整吗 平铺机铺贴瓷砖的专用工具 平铺机几个档位最好 地砖平铺机功率多少 指针作函数参数 c语言指针作形参如何才能影响主函数? 汇编语言中指针的作用 C语言中指针的作用是什么? 什么是指针? 指针的作用老鸟来 如何申请工商局商标注册 指针的作用 工商注册、商标注册和标志(图形logo)注册的具体区别在哪? 可以不通过中介,自己去工商局注册商标吗? 去工商局注册商标需要什么 请问注册一个logo的话,自己去工商办理,要多少钱! 个体工商户能注册自己的LOGO吗 在工商局注册一个商标需要哪些详细步骤? 申请的浦发银行信用卡怎么查询办理进度 大热天付费排队真遭罪,成都有哪些免费的景点? PDF转为WORD后,文字中出现多余横线,无法选择、编辑,应怎样删除? 四川周边的免费景点有哪些? Word转换成PDF后,参考文献上出了一条横线,在Word的文献里已经去掉了的,PDF里如何不显示这条线? 求帮忙 为什么我的07版word直接转成PDF后,里面的图片被一道黑杠隔开了 c语言中指针作函数的参数是怎么回事???有点不懂!!! 关于C语言指针作参数的问题。 C语言指针作函数参数中数据的双向传递是什么意思? 剪头发前有必要先洗头吗? ★C语言 指针作函数参数 去发廊剪发,为什么都要先洗头,不洗会怎样?会剪的不好? C语言的指针作函数参数 剪头发前一定要知道的事,别问你什么都不知道 为什么在剪发店剪发前要洗两次头? c语言 请问指针变量可以作实参吗 剪头发前要洗头吗? 洗了头要吹到完全干再去剪头发吗? 为什么剪头发前一定要洗头发 男生剪发型前如何留头发 去理发前是不是要洗头? 剪头发一定要洗头吗 为什么剪头发前要洗头 剪头发前抹的东西 剪头发前要洗头吗,很贵啊 干头发在剪之前为什么要喷湿? 梦见自己和好多人在八窑,好大火,有人从那边掉下去了没摔伤? 大家去理发前会在家洗头吗