| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 516 人关注过本帖
标题:关于指针的小问题
只看楼主 加入收藏
newCpp
Rank: 5Rank: 5
来 自:火星
等 级:职业侠客
威 望:3
帖 子:256
专家分:375
注 册:2009-8-17
结帖率:97.83%
收藏
 问题点数:0 回复次数:5 
关于指针的小问题
程序代码:
#include <iostream>
using namespace std;
int main()
{
int i=0,j=0;
int *p;
int *p1;
p=&i;
p1=&j;
*p=5;
cout<<"i "<<i<<endl;
cout<<"*p "<<*p<<endl;
cout<<"j "<<j<<endl;
cout<<"*p1 "<<*p1<<endl;
p=p1;
*p=100;
cout<<*p<<" "<<*p1<<endl;
cout<<"i "<<i<<endl;
cout<<"*p "<<*p<<endl;
cout<<"j "<<j<<endl;
cout<<"*p1 "<<*p1<<endl;

return 0;

}


这段指针代码的运行结果如下
图片附件: 游客没有浏览图片的权限,请 登录注册



在两个指针没有相互赋值之前,我修改

指针*P的值的话,指针指向的&i的值会发生变化,

但为什么在指针p和指针p1在使用了p=p1;

这句话的时候指针 p所执向的i的值没有了变化?这个是为什么?

搜索更多相关主题的帖子: 指针 
2009-10-04 08:02
无诲今生
Rank: 8Rank: 8
来 自:桂林理工大学
等 级:蝙蝠侠
威 望:2
帖 子:373
专家分:726
注 册:2009-5-11
收藏
得分:0 
因为你对i,j都赋被值0,    你使p,p1分别指向i,j,    *p=5说明你只修改p的指向,但是p=p1,p所指向的地址改变了,但还是指向其值为0的地址,所以你输出时看不到i的变化

顺境逆境切莫止境,得意失意切莫在意。
2009-10-04 08:55
kyozy
Rank: 1
等 级:新手上路
帖 子:14
专家分:8
注 册:2009-4-5
收藏
得分:0 
p=p1相当于p和p1都同时指向了j的地址。
2009-10-04 11:42
逆光
Rank: 2
等 级:论坛游民
帖 子:14
专家分:12
注 册:2009-9-7
收藏
得分:0 
#include <iostream>
using namespace std;
int main()
{
int i=0,j=0;
int *p;
int *p1;
p=&i;//p指向i的地址
p1=&j; //p指向j的地址
*p=5; //p所指向的地址中的值变为5即i变为5
cout<<"i "<<i<<endl;
cout<<"*p "<<*p<<endl;
cout<<"j "<<j<<endl;
cout<<"*p1 "<<*p1<<endl;
p=p1; //p,p1同时指向j的地址,i的值保持5不变
*p=100; //j的值变为100
cout<<*p<<" "<<*p1<<endl;
cout<<"i "<<i<<endl;
cout<<"*p "<<*p<<endl;
cout<<"j "<<j<<endl;
cout<<"*p1 "<<*p1<<endl;
 
return 0;
 
}
2009-10-04 12:09
lintaoyn
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:4
帖 子:606
专家分:2499
注 册:2009-4-8
收藏
得分:0 
int *p;
int *p1;
p=&i;
p1=&j;
/********************/
int *p = &i;
int *p1 = &j;
这样写会更好一些

迭代的是人,递归的是神。
2009-10-04 18:08
yxb0001
Rank: 2
等 级:论坛游民
帖 子:50
专家分:35
注 册:2009-9-9
收藏
得分:0 
p=p1;之前p==&1,*p变,则i变;

之后p!=&1,指针p己不指向i的值,故i没有了变化。
2009-10-05 02:08
快速回复:关于指针的小问题
数据加载中...
 
   



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

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