c语言 中值传递与指针传递的详解

2019-07-20 16:34发布

基本定义的——值传递:形参是实参的拷贝,改变形参的值并不会影响外部实参的值。从被调用函数的角度来说,值传递是单向的(实参->形参),参数的值只能传入,不能传出。当函数内部需要修改参数,并且不希望这个改变影响调用者时,采用值传递。指针传递:形参为指向实参地址的指针,当对形参的指向操作时,就相当于对实参本身进行的操作。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
12条回答
comeon201208
1楼-- · 2019-07-20 22:23
c语言中没有引用传递的,这个是跟c++不同的地方的。
comeon201208
2楼-- · 2019-07-21 04:15
 精彩回答 2  元偷偷看……
comeon201208
3楼-- · 2019-07-21 07:52
运行结果如下

点击(此处)折叠或打开
实参地址 -1080956420
值传递 函数操作地址-1080956448
*****执行change1,结果:n = 8
指针传递 函数操作地址0xbf91e9fc
*****执行change2,结果:n = 9
comeon201208
4楼-- · 2019-07-21 11:09
 精彩回答 2  元偷偷看……
comeon201208
5楼-- · 2019-07-21 15:11
指针传递的实质:
指针传递参数本质上是值传递的方式,它所传递的是一个地址值。值传递过程中,被调函数的形式参数作为被调函数的局部变量处理,
即在栈中开辟了内存空间以存放由主调函数放进来的实参的值,从而成为了实参的一个副本。值传递的特点是被调函数对形式参数的
任何操作都是作为局部变量进行,不会影响主调函数的实参变量的值。
angerbird
6楼-- · 2019-07-21 16:45
comeon201208 发表于 2016-9-25 18:14
采用实例的来说明的
#include

这个实例比较形象的,容易理解的。

一周热门 更多>