gpt4 book ai didi

c++ - 在 C++ 中访问具有负索引的二维数组

转载 作者:行者123 更新时间:2023-11-27 22:42:17 24 4
gpt4 key购买 nike

我在 C++ 中有这样的二维数组:

int array[2][5] = {
{1,2,3,4,5},
{6,7,8,9,10}
};

当我访问 array[0][4] 的索引时,结果值当然是 5。但是当我尝试像这个数组[1][-1]这样的数组访问索引时,我仍然感到困惑,结果值也是 5。

谁能解释一下?谢谢

最佳答案

这跟index是怎么计算的有关,内存本身就是一个单词数组。当您使用二维索引 [i][j] 时,它会作为 i*size2+j 映射到内存(如果数组的大小为 [size1][size2])

因此,当您为 [0][4][1][-1] 计算此值时,您会得到相同的值 (0*5+4=4 ,1*5-1=4) two-dimensional array

关于c++ - 在 C++ 中访问具有负索引的二维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47786666/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com