| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1616 人关注过本帖
标题:关于数组与指针
只看楼主 加入收藏
Jonny0201
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:52
帖 子:488
专家分:2603
注 册:2016-11-7
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:4 
关于数组与指针
假设现在有一个指针数组
int *arr = new int[10]
malloc 太复杂,这里暂时用 new 代替动态数组申请空间
另外还有一个数组指针
int *p = arr
当执行 9 次 p++ 或者执行一次 p += 9,则 p 指向数组的最后一个元素
当继续执行 p++ 的时候,p 就不再指向数组中的元素
现在如果想要 p++ 一旦超出数组范围,就立马回到数组第一个,实现循环的数组指针
目前已经想到的方法就是用一个函数去检查 p 的地址和 arr 的地址是否匹配
各位大佬是否有更好的方法?

问题是来自于数据结构的循环队列,书上用的是 int 类型的下标,但是写的时候想改成用指针

[此贴子已经被作者于2018-1-22 20:07编辑过]

搜索更多相关主题的帖子: 数组 指针 int 执行 循环 
2018-01-22 20:05
吹水佬
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:451
帖 子:10610
专家分:43210
注 册:2014-5-20
收藏
得分:3 
定义首指针尾指针
2018-01-22 20:26
yangfrancis
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:贵宾
威 望:141
帖 子:1510
专家分:7661
注 册:2014-5-19
收藏
得分:5 
递增量对数组长度取余,取余后返回给递增量,再来递增
2018-01-22 21:51
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9032
专家分:54066
注 册:2011-1-18
收藏
得分:12 
p = arr + (p-arr+1)%10;
2018-01-23 08:22
小白0号
Rank: 1
等 级:新手上路
帖 子:13
专家分:7
注 册:2018-1-4
收藏
得分:0 
if语句判断超出范围之后,重新赋值指针应该可以吧
2018-01-25 20:42
快速回复:关于数组与指针
数据加载中...
 
   



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

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