Q:int A[2][3]={1,2,3,4,5,6};,则A[1][0]和*(*(A+1)+1)的值分别是(A)数组
A、4 5
B、4 3
C、3 5
D、3 4
A:假设给一个一维数组 int a[5];首先要明白 a 和 &a 的意思,他们地址值同样:spa
能够把a理解江苏的省会南京市(即江苏省城市排名中的第一个,对应数组中的第一个元素),&a理解为江苏省;那么a+1的值就是江苏省里的其余市,好比苏州市;&a+1理解为安徽的邻省好比安徽省,因此&a+1可能就输出一个不肯定的数了。
code
在二维数组里也是同样,int A[2][3](这个数组其实能够看作有两个一维数组,每一个一维数组里有3个元素,a[1][2]就是指向第二个一维数组的第三个元素),A+1的话表明A[0](这是二维数组里的第一个含有3个元素的一维数组)下一个的一维数组A[1],而&a+1就是一个不肯定的数了;那么(1)A[1][0]就是4;*(*(A+1)+1);*(A+1)指向a[1]这个一维数组,也即指向4,而后+1(加4个字节)就是指向下一个元素5,而后*运算就是输出5。it