| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 584 人关注过本帖
标题:关于指针可以指向的范围
只看楼主 加入收藏
stoneshing
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2014-8-18
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:11 
关于指针可以指向的范围
指针p指向含的5 个元素的数组a[5],书上说正确的指针范围是p+0至p+5;
我的问题是, 怎么不是p+4?
P+5 不是越界了吗? 谢谢。
搜索更多相关主题的帖子: 元素 
2014-09-04 14:51
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
收藏
得分:3 
拍个照片传上来

总有那身价贱的人给作业贴回复完整的代码
2014-09-04 15:02
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:3 
指针越界没有问题,对越界的指针解引用才有问题。指针可指向界末尾外侧是标准明文规定的,故那是正确答案。

授人以渔,不授人以鱼。
2014-09-04 15:02
stoneshing
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2014-8-18
收藏
得分:0 
回复 2 楼 embed_xuel
《明解C语言》.((日)柴田望洋).[PDF].rar (76.43 KB)

如附件 ,谢谢。
2014-09-04 15:28
Coincedence4
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:52
专家分:151
注 册:2014-9-4
收藏
得分:3 
指针只是指向内存中的地址,数组其实也是按照指针的方式编译的,所以发生越界不会报错。只不过越界引用的时候可能是不确定的值。
2014-09-04 15:50
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
收藏
得分:0 
按我的理解,这本书写的有问题,书上说的正确的指针范围是p+0至p+5是指:[p+0, p+5)

总有那身价贱的人给作业贴回复完整的代码
2014-09-04 15:59
书生等待
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:8
帖 子:280
专家分:689
注 册:2013-2-22
收藏
得分:3 
帮楼主把图传上来吧,看大家怎么说,这个就是楼主的.RAR文件
图片附件: 游客没有浏览图片的权限,请 登录注册
2014-09-04 16:02
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9031
专家分:54061
注 册:2011-1-18
收藏
得分:3 
书上说正确的指针范围是p+0至p+5;
------ 严格地讲,我们会说 范围是 [p+0,p+5] 或 [p+0,p+5) 或 (p+0,p+5] 或 (p+0,p+5),只说“范围是p+0至p+5”别人无法确定左右边界是否包含在内。
对于C++而言,不特别说明的话,一般是 前闭后开,即[p+0,p+5)
对于生活中用语而言,不特别说明的话,一般是 前闭后闭,即[p+0,p+5]
总之吧,如果你不想让别人误解,最好说清楚左右边界是否包含在内。

举例:
a. “a[5]数组的下标是从0至5,包括0,不包括5”
b. “72分以上的都可以获得奖励,71.5分的不算”
这样说清楚,别人理解上才不会有歧义
2014-09-04 16:24
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:3 
回复 7 楼 书生等待
范围有啥用  c语法中 数组的下标就是从0开始  到哪里结束 不知道的话 自己掰手指头数

DO IT YOURSELF !
2014-09-04 16:24
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:3 
以下是引用TonyDeng在2014-9-4 15:02:29的发言:

指针越界没有问题,对越界的指针解引用才有问题。指针可指向界末尾外侧是标准明文规定的,故那是正确答案。

指针越界没有问题,对越界的指针解引用才有问题。


+10086
2014-09-04 19:08
快速回复:关于指针可以指向的范围
数据加载中...
 
   



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

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