一行中的最后一个数组元素和下一行中具有相同指针的第一个元素
Last array element in a row and first element in the next row having the same pointer
我正在做一个大学作业,要求我得到一个与数组指针相关的数学方程式,我写了下面的代码来显示所有元素的指针:
一切都很顺利,直到我决定将地址转换为十进制以使我的计算更容易,我使用了以下代码行:
size_t D = reinterpret_cast<size_t>(&X);
一旦我这样做了,不知何故,一行中的最后一个元素和下一行中的第一个元素 returned 相同的地址:
即使在我删除该行并将我的代码恢复到以前的状态之后,指定的元素仍然 return 相同的地址。我认为这可能是一种奇怪的 Visual Studio 行为,我尝试重新启动它,但问题并未得到解决。我想知道这是怎么发生的以及如何解决,这没有意义。
您的数组大小已更改为 Arr[5][4]
。它不会 return 错误或警告,因为它们都是指向数组 'one past the end' 元素的有效指针。
我正在做一个大学作业,要求我得到一个与数组指针相关的数学方程式,我写了下面的代码来显示所有元素的指针:
一切都很顺利,直到我决定将地址转换为十进制以使我的计算更容易,我使用了以下代码行:
size_t D = reinterpret_cast<size_t>(&X);
一旦我这样做了,不知何故,一行中的最后一个元素和下一行中的第一个元素 returned 相同的地址:
即使在我删除该行并将我的代码恢复到以前的状态之后,指定的元素仍然 return 相同的地址。我认为这可能是一种奇怪的 Visual Studio 行为,我尝试重新启动它,但问题并未得到解决。我想知道这是怎么发生的以及如何解决,这没有意义。
您的数组大小已更改为 Arr[5][4]
。它不会 return 错误或警告,因为它们都是指向数组 'one past the end' 元素的有效指针。