在以下我预期要打印13。
我想通过一个数组成员的大小(它是int)来移动arr(这是一个指向内存的指针,其中存储了来自数组的int值,如果我理解了所有内容)。C++通过移动指针通过数组导航
而是打印45。因此,取而代之的是创建一个数组成员范围跳转的第5个数组成员。为什么?
int arr[] = {1,13,25,37,45,56};
int val = *(arr + 4); //moving the pointer by the sizeof(int)=4
std::cout << "Array Val: " << val << std::endl;
这与数组的标准指针算术的行为有关。更多可以发现[这里](http://www.tutorialspoint.com/cprogramming/c_pointer_arithmetic.htm) – RBT 2016-09-13 02:16:15