| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 620 人关注过本帖
标题:解释一下这段程序
只看楼主 加入收藏
wxm198427
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:3
帖 子:561
专家分:25
注 册:2008-6-30
结帖率:52.7%
收藏
 问题点数:0 回复次数:5 
解释一下这段程序
我有一段这样的程序:
int main()
{Student stud[5]={
  Student(101,78.5),Student(102,85.5),Student(103,98.5),
  Student(104,100.0),Student(105,95.5)};
 Student *p=stud; for(int i=0;i<=2;p=p+2,i++)
  p->display();
 return 0;
 }
红色部分最难懂,在执行FOR循环时,为什么会输出第一项的数据,*P=STUD,怎么解释???他指向的是哪个值??请各位大虾帮我分析分析,指针学的好烂我………………谢谢………………
搜索更多相关主题的帖子: 解释 
2008-10-24 17:33
newyj
Rank: 2
等 级:新手上路
威 望:3
帖 子:542
专家分:0
注 册:2008-1-4
收藏
得分:0 
Student *p=stud;定义一个Student类型的指针p它指向Student类型数组的首地址
2008-10-24 19:12
zhengweitc
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2008-10-17
收藏
得分:0 
指向stud[0]
2008-10-24 19:27
木木木
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2008-10-23
收藏
得分:0 
stud是你定义的数组stud[5]的首地址,也可以理解为元素stud[0]的地址。
Student *p=stud;  //定义一个Student类型的指针,并对其赋初值,使其指向数组stud[]。
指针的加减运算比较特别,它不以字节为单位,而以数据类型的大小为单位,所以"p=p+2"将使指针指向“下一个的下一个”元素。

指针很重要,初学时觉得它复杂是因为它太灵活了,这其实是它的优点。

有志者,事竟成,百二秦关终属楚;
苦心人,天不负,三千越甲可破吴。
2008-10-24 19:35
lyshyhuangli
Rank: 1
等 级:新手上路
帖 子:29
专家分:0
注 册:2007-7-24
收藏
得分:0 
指针好学好啊
2008-10-27 09:50
wxm198427
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:3
帖 子:561
专家分:25
注 册:2008-6-30
收藏
得分:0 
哦,谢谢了…………,继续努力…………
2008-10-27 09:53
快速回复:解释一下这段程序
数据加载中...
 
   



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

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