网页
资讯
视频
图片
知道
文库
贴吧
地图
采购
进入贴吧
全吧搜索
吧内搜索
搜贴
搜人
进吧
搜标签
日
一
二
三
四
五
六
签到排名:今日本吧第
个签到,
本吧因你更精彩,明天继续来努力!
本吧签到人数:0
一键签到
成为超级会员,使用一键签到
一键签到
本月漏签
0
次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行
补签
。
连续签到:
天 累计签到:
天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
05月16日
漏签
0
天
c++吧
关注:
614,975
贴子:
2,110,893
看贴
图片
吧主推荐
游戏
9
回复贴,共
1
页
<<返回c++吧
>0< 加载中...
求C++大佬解惑!!
只看楼主
收藏
回复
不良人天婧星
?:
4
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
已知利用指针遍历数组的代码为:(数组长度是10)
int* p = arr;
for(int i = 0 ;i < 10 ;i++)
{
cout << *p << endl;
p++;
}
我的疑惑是p不是保存地址的指针变量嘛?然后p++的含义不应该是这个地址往后递增1么?而数组每个元素所占内存空间大小为4,如果想实现遍历数组,不应该是p = p + 4才能使指针找到数组的下一个元素嘛,为什么加个1就能找到下一个元素了?
叫你光盘没叫你光盘
,
1
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
因为指针加一不是地址值加一个byte,而是加sizeof(type)个byte,也就相当于移动到数组的下一个元素。数组根据下标取元素的语法arr[i]的本质就是*(arr+i),所以arr+i必须是数组向后移动i个元素才行。
南昌眠矿州催网络科技
测一下胃难受吃饭就好了,3分钟35题,在线测一测您的健康程度,胃难受吃饭就好了,马上自测健康程度,健康自测量表,做完即出结果!
2025-05-16 12:27
广告
立即查看
2025-05-16 12:27:51
广告
幻形术
+
13
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
指针本身是有类型的
linf771991
|
7
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
你的疑惑很好,指针在定义的时候就指定了它所指向内容的类型。char是1字节int是4字节,你也可以强制转换成char每次+4,效果一样的
贴吧用户_53RJDU3
,
1
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
指针类型为int,加一表示一次跳过一个int类型
邪神gog
&&
6
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
因为你定义的是Int类型的指针
登录百度账号
扫二维码下载贴吧客户端
下载贴吧APP
看高清直播、视频!
贴吧页面意见反馈
违规贴吧举报反馈通道
贴吧违规信息处理公示