C++多维数组

C++ multidimensional arrays

本文关键字:数组 C++      更新时间:2023-10-16

我是c++及其开发的新手。我用了

static const int ipx[7][2] = { {-1, 0}, {-1, -1}, {-1, 1}, {-2, 0}, {-2, -1}, {-2, 1}, {0, 0} };

当我打印该数组的值时,得到的结果如下。有人能解释一下为什么会发生这种事吗。谢谢

printf("-> %i n",ipx[3][1]); // prints -> 0
printf("-> %i n",ipx[7][1]); //prints-> 28 
printf("-> %i n",ipx[7][0]); //prints ->-> 1 
printf("-> %i n",ipx[5][1]);  //prints -> 1 

提前谢谢你。

C++数组是0索引的,因此打印出ipx[7][0]是未定义的行为,因为索引为7元素数组运行0..6。您可能想要ipx[2][1]ipx[6][1]ipx[6][0]ipx[4][1]

Basicly,如果您声明一个具有7个"slots"的数组,则有0-6个可用的slots。