C++ 中的 2D 数组和大小

2d arrays and sizes in c++

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

我确定这是一件非常微不足道的事情,但我无法理解它,

int  bb5[8][8]
 = {
                {-4,-3,-2,-5,-6,-2,-3,-4},
                {-1,-1,-1,-1,-1,-1,-1,-1},
                { 0, 0, 0, 0, 0, 0, 0, 0},
                { 0, 0, 0, 0, 0, 0, 0, 0},
                { 0, 0, 0, 0, 0, 0, 0, 0},
                { 0, 0, 0, 0, 0, 0, 0, 0},
                { 1, 1, 1, 1, 1, 1, 1, 1},
                { 4, 3, 2, 5, 6, 2, 3, 4}
                };

这行得通

int bb5[7][7]
 = {
                {-4,-3,-2,-5,-6,-2,-3,-4},
                {-1,-1,-1,-1,-1,-1,-1,-1},
                { 0, 0, 0, 0, 0, 0, 0, 0},
                { 0, 0, 0, 0, 0, 0, 0, 0},
                { 0, 0, 0, 0, 0, 0, 0, 0},
                { 0, 0, 0, 0, 0, 0, 0, 0},
                { 1, 1, 1, 1, 1, 1, 1, 1},
                { 4, 3, 2, 5, 6, 2, 3, 4}
                };

这不起作用,"初始值设定项太多,无法int[7][7]我正在我从头开始构建的国际象棋引擎中使用这种数据结构来娱乐。这个数组在屏幕上以图形方式显示,棋盘是 8x8,所以我认为int bb5[7][7]是等效的(从 0 到 7 ==大小 8 对吧?),但我做错了,为什么?

数组

[]内的值是数组的大小。但是,数字的索引以0开头,因此您可以在数组中访问的最大索引是 size - 1