“指针变量作为函数参数的作用:将一个变量的地址传送到另一个函数中”这句话怎么理解?谢谢

 我来答
8826055
2015-11-09 · TA获得超过7510个赞
知道大有可为答主
回答量:1680
采纳率:81%
帮助的人:898万
展开全部
  一般来说,一个函数里的局部变量只能在这个函数里被访问到。比如在函数foo中定义了一个局部变量a,然后调用另一个函数bar,在bar里是访问不到a的。但如果想在bar里修改a该怎么办呢?
  注意到函数的参数是函数对外的接口,相当于函数的输入,一个自然的想法是将a当成参数传递给bar。但这种情况下传递给bar的其实是a的一个拷贝,是与a独立的一个变量,尽管二者的值相等。在bar里修改这个拷贝的变量对a没有任何影响。

  一个解决办法便是通过传递a的地址(即指向a的指针)来代替直接传递a。这样在bar里就可以通过这个地址访问并修改a了。
ghosthn2007
2013-03-15 · TA获得超过117个赞
知道小有建树答主
回答量:236
采纳率:0%
帮助的人:106万
展开全部
你可以理解为指针是一条路,在函数里面可以沿着它去修改它指的内容,不然的话是不能访问到原版变量的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
aaaaaaaa585
2013-03-15
知道答主
回答量:6
采纳率:0%
帮助的人:2.2万
展开全部
通俗点讲就是,你问一个人路时,那个人把你要去的地方的地址告诉了你,而不是直接将那个地方的情况详细的说了一遍!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
matrix2012love
2013-03-15 · 超过20用户采纳过TA的回答
知道答主
回答量:93
采纳率:0%
帮助的人:55.4万
展开全部
函数的参数传递有三种方式:值传递,指针传递,引用传递
假如定义一个函数 func(int a)
现在有一个整型变量int x = 8;
1、值传递:func(x),就是调用函数时将x的值传入函数,注意!!!这时传入的是x变量的副本,而不是x变量本身,虽然副本和本身的值一样,但是存储地址不一样,所以对副本的改变不会影响本身。
2、指针传递:直接将变量x的地址传入,这是func()函数要改写,func(int *a);然后定义一个指针
指向x :int *px = x;此时调用func(px),因为传入的是x的地址,所以此x就是确定的,更改指针所指位置的值,也就更改了x的值
追问
2、指针传递  不太懂哦
追答
这么来说吧,如果有两个变量int x=4;int y=4;那么计算机如何区分这两个值相等的变量呢?所以计算机给两个不同的变量分配了两个不同的地址,地址是唯一的。用值传参只是传的4这个值,而指针传的是变量的地址,函数就会修改地址所在位置变量的值。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式