在以下我預期要打印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