假设我们有以下内容:
int array[][2]{1, 2, 3, 4, 5, 6};
cout << ( * ( array + 1 ) )[2] << endl;我不明白为什么这个打印5。
我认为(数组+ 1)给我们一个int *2到{3,4},所以,我们可以把它看作是第二行。让我们把这个指针叫做ptr。
(* ptr)2
这是说我应该取消ptr,然后打印索引2处的任何内容吗?取消引用ptr不是给了我一个指向3号的int *吗?
发布于 2017-10-04 11:55:40
因为您有一个由SO2元素组成的数组,并且您正在按索引2访问,这实际上是第三个数字(0,1,2)。
https://stackoverflow.com/questions/46564133
复制相似问题