int *p;
p=new int[20];
for(int i=0;i<20;i++)
p[i]=i;
然后怎样让指针指回第一个元素?
p=&p[0] 这个方法正确吗?还有其他方法吗?
【求助】C++中怎样让指针指回数组首位?
答案:3 悬赏:0
解决时间 2021-03-03 09:07
- 提问者网友:白越
- 2021-03-02 21:29
最佳答案
- 二级知识专家网友:抱不住太阳的深海
- 2021-03-02 22:35
你这个p指针的地址没变呀,p[i]=i的操作并不会让p指针指向不同的地方,它还是指向第一个元素的。
int *p;
p=new int[20];
printf("p的地址为[%p]\n", p);
for(int i=0;i<20;i++)
p[i]=i;
printf("p的地址为[%p]\n", p);
通过加的这两句打印,你可以看到p的地址没变。
有问题可继续追问。
int *p;
p=new int[20];
printf("p的地址为[%p]\n", p);
for(int i=0;i<20;i++)
p[i]=i;
printf("p的地址为[%p]\n", p);
通过加的这两句打印,你可以看到p的地址没变。
有问题可继续追问。
全部回答
- 1楼网友:野性且迷人
- 2021-03-03 00:21
p = p;
p[i]中的p就是指的数组的首地址。
- 2楼网友:飘零作归宿
- 2021-03-02 23:44
你好!
你的p 本来就指向第一个元素,从来没有变过,用下标的方式去值并不会改变指针锁指向的地址。
所以,p任然指向第一个元素,不需要那个代码。
仅代表个人观点,不喜勿喷,谢谢。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯
• 手机登qq时,显示手机磁盘不足,清理后重新登 |
• 刺客的套装怎么选啊? |