数组题目分享
Posted lsdzn
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数组题目分享相关的知识,希望对你有一定的参考价值。
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
以上是关于数组题目分享的主要内容,如果未能解决你的问题,请参考以下文章