码迷,mamicode.com
首页 > 编程语言 > 详细

数组题目分享

时间:2019-01-26 17:06:47      阅读:204      评论:0      收藏:0      [点我收藏+]

标签:color   out   cout   div   col   分享   种类型   分析   10个   

2019-01-26  16:06:35

1 int main()
2 {
3     int a[2][5] = {2,3,4,5,6,7,8,9,10,11};
4     int *ptr = (int*)(&a+1);
5     cout<<*(ptr-3)<<endl;
6 }


数组名是数组这种类型的变量名,所以对数组名取地址是取的整个数组的地址,所以&a+1自然要跨过整个数组的长度,本题即跨过2*5 = 10个int的长度。
有了上述概念,再来分析这道题,int *ptr = (int *)(&a+1),p此时指向的地址应该是a[1][4]后面的地址,由于ptr是int型指针,ptr-3应该是ptr向前移动3个元素,即ptr-3指向a[1][2],所以*(ptr -3) = 9

数组题目分享

标签:color   out   cout   div   col   分享   种类型   分析   10个   

原文地址:https://www.cnblogs.com/lsdzn/p/10323743.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!