| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 737 人关注过本帖
标题:求助指针问题
只看楼主 加入收藏
wandou08
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2008-9-22
收藏
 问题点数:0 回复次数:9 
求助指针问题
main()
{.......
double t[3};


   t[i]=i;
det(t)
..........
}
det(double *t)
 {int i;
  double t1[3];
  t1=t;
  for(i=0;i<3;i++)
  t1[i]=i+1;
  }
我想问一下,t1[i]变了,这时候main函数中的t[i]也变了吗?
如果t1=t改成:
for(i=0;i<3;i++)t1[i]=t[i];那么最终main函数中的t[i]会变吗?是否还是原来的值?
请高手帮忙谢谢!
搜索更多相关主题的帖子: 指针 
2008-10-05 10:15
wandou08
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2008-9-22
收藏
得分:0 
落下一句main函数是这样的:

main()
{.......
double t[3};
for(i=0;i<3;i++)
t[i]=i;
det(t)
..........
}
2008-10-05 10:18
blueboy82006
Rank: 5Rank: 5
来 自:幻想世界
等 级:贵宾
威 望:16
帖 子:1227
专家分:57
注 册:2007-7-23
收藏
得分:0 
你学过 变量 作用域和生存周期 的知识吗?
建议你好好学一下...

2008-10-05 12:16
ml232528
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:5
帖 子:367
专家分:879
注 册:2007-7-23
收藏
得分:0 
det(double *t)
{int i;
  double t1[3];
  t1=t;//能编译通过吗 t1好像是常量
  for(i=0;i<3;i++)
  t1[i]=i+1;
  }

改成这样试试
det(double *t)
{
  int i;
  for(i=0;i<3;i++)
  t[i]=i+1;
 }

-︻┻┳═一 ☆ 悲伤的代价就是让自己明白什么是最重要的和应该珍惜的
2008-10-05 13:02
wandou08
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2008-9-22
收藏
得分:0 
多谢各位热心的帮助!
t1=t,我觉的是将t[]首地址t[0]传给t1,这样就能够实现t1指向t中的对象。
我看过那些,但还是不明白,所以想主要问一下,t1=t,赋值的是地址,所以当t1的元素变化时,t的元素变吗?
2008-10-05 13:24
飞天舞xsj
Rank: 1
来 自:武汉
等 级:新手上路
帖 子:47
专家分:0
注 册:2006-12-25
收藏
得分:0 
t1=t,这本身就有问题,楼主好像有关指针的有效传递没搞清楚啊

2008-10-05 15:46
kakaqq
Rank: 1
等 级:新手上路
威 望:1
帖 子:48
专家分:0
注 册:2008-10-7
收藏
得分:0 
[bo][un]飞天舞xsj[/un] 在 2008-10-5 15:46 的发言:[/bo]

t1=t,这本身就有问题,楼主好像有关指针的有效传递没搞清楚啊

他就是这问题没搞清楚。
2008-10-07 21:10
冰烨
Rank: 1
来 自:不咔界
等 级:新手上路
威 望:1
帖 子:135
专家分:0
注 册:2007-10-30
收藏
得分:0 
double t1[3];
  t1=t;

这本身就是错误的,t1是个数组,而数组名可看成一个常指针,const型的是不能被赋值的。

当你这样调用det(t)时候,数组t会被强制解释成指针作为实参传入。根据指针本质,存放地址,所以,det的形参t便也存放了原数组的首地址
所以进入det后,只要对det中的t操作就是对main中的t操作。但是记住数组是不能能过数组名来赋值的。

要么死去,要么奋斗!
2008-10-09 09:19
冰烨
Rank: 1
来 自:不咔界
等 级:新手上路
威 望:1
帖 子:135
专家分:0
注 册:2007-10-30
收藏
得分:0 
for(i=0;i<3;i++)t1[i]=t[i];那么最终main函数中的t[i]会变吗?是否还是原来的值?
如果是这种情况的话,t1会是在det中的另一空间,只是值与t的相等,所以改变t1[i]对t[i]没有影响

要么死去,要么奋斗!
2008-10-09 09:22
快速回复:求助指针问题
数据加载中...
 
   



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

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