C++ 多维数组

标签 c++ arrays multidimensional-array

我是 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] 是未定义的行为,因为索引运行 0..6 对于 7 元素大批。您可能需要 ipx[2][1]ipx[6][1]ipx[6][0]ipx[4][1]

关于C++ 多维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29135785/

相关文章:

C++:在指针中存储常量多维数组

java - Pydev 中的自动补全 - Eclipse for wxpython

c++ - 用户定义的非类型参数解决方法

c++ - 可以在 C++11 lambda 中隐式捕获参数包吗?

javascript - 按值排序对象未按预期工作

ios - 仅当我将手机置于横向模式时才会加载表格 View

c++ - 指向类中多维数组的指针

c++ - 在 C++ 中将所有 TLS(线程本地存储)变量设置为新的单个值

JQuery 基于 DOM 值对 DOM 对象数组进行排序

c - C中二维数组的内存分配