| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1753 人关注过本帖
标题:又发现一个令我费解的问题(指针)……
只看楼主 加入收藏
NeXT__00
Rank: 2
等 级:论坛游民
帖 子:51
专家分:98
注 册:2011-9-5
收藏
得分:0 
单向传递。。。不能改变实参值。可以用改变指针指向的方法。
2011-10-05 21:20
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
回复 楼主 物极必反
其实,这个解释跟你前一个问题的原理是一样的,稍微变化了一丁点而已。理解好那个问题,就能理解这个问题,然后下一个问题也好理解(我预知你下一个问题会是什么,应该是交换指针但实参来源数据没有交换,然后,会在这三个问题上纠结)。

[ 本帖最后由 TonyDeng 于 2011-10-5 23:47 编辑 ]

授人以渔,不授人以鱼。
2011-10-05 23:40
yuhezhangyan
Rank: 1
等 级:新手上路
帖 子:5
专家分:4
注 册:2011-10-7
收藏
得分:0 
void x(int *a,int * b)
{
    int t;
    t=* a;
    * a=* b;
    * b=t;
   
}
说白了,*a 和 *b代表的就是数字的值呀,用另外一个数字来中介,做交换
2011-10-07 12:48
ileelsai
Rank: 5Rank: 5
等 级:职业侠客
帖 子:87
专家分:303
注 册:2011-9-25
收藏
得分:5 
楼主看似刚学呀,多看看书
看例:
int a=2;b=3;
int x(int a ,int b)
值:    2     3                            2      3
地址 : 1     2    3    4    5     6       7      8      
实参:  a     b
函数x函数体:                              a      b
红色a ,b无论怎么变a和b都不会变,好理解一点的话函数中a和b写成i,j都行

int a=2;b=3;
int x(int *a,int *b)
值:    2     3                            1      2
地址 : 1     2    3    4    5     6       7      8      
实参:  a     b
函数x函数体:                              a      b
此时ab是指针传递的是地址12.地址1和2的值就是实参a和b的值
2011-10-07 13:56
离开天空的云
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:110
专家分:198
注 册:2011-8-12
收藏
得分:0 
崩溃了,,这样的问题,随便一教程上都教的很清楚了
2011-10-07 15:55
A13433758072
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:广东潮州
等 级:小飞侠
威 望:1
帖 子:1182
专家分:2784
注 册:2010-7-22
收藏
得分:0 
回复 楼主 物极必反
地址是不变的,但指针所指的值,却可以改变的

一步一个脚印...............................默默地前进.....
诚邀乐于解答c菜鸟问题,的热心网友加入,  QQ群38490319
2011-10-07 18:00
kinwyb
Rank: 4
等 级:业余侠客
帖 子:134
专家分:244
注 册:2009-3-7
收藏
得分:5 
因为传入函数的是内存地址。函数运算的结果就是把传进来的2个内存地址上的数据进行对换。。main函数就是输出这2个地址的数据。。。所以就把a和b对换了

学习c语言痛苦!!但是要坚持~~
2011-10-07 18:03
lansane
Rank: 2
等 级:论坛游民
帖 子:17
专家分:58
注 册:2011-5-19
收藏
得分:0 
可以换呀
2011-10-07 18:26
不是不可能
Rank: 2
等 级:论坛游民
帖 子:20
专家分:23
注 册:2011-9-1
收藏
得分:0 
多看看书
2011-10-07 22:50
exo1991
Rank: 2
等 级:论坛游民
帖 子:66
专家分:98
注 册:2011-8-30
收藏
得分:0 
楼主当成数组理解就可以了。
2011-10-08 09:46
快速回复:又发现一个令我费解的问题(指针)……
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018229 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved