数组初始值设定项 C++ char Xcode 中的元素过多

Excess elements in array initializer C++ char Xcode

我的名字有六个字母,我的名字有四个。

错误的代码将构建并打印:

char myName[4][6] = {{'x', 'x', 'x', 'x', 'x', 'x'}, {'x', 'x', 'x', 'x'}};

但正确的代码不会:

char myName [6] [4] = {{'x', 'x', 'x', 'x', 'x', 'x'}, {'x', 'x', 'x', 'x'}};

有没有理由:

我使用的是最新版本的 Xcode。是否存在数组倒置或其他问题?我环顾四周,但找不到任何解释。

这是因为 char myName[4][6] 是一个包含六个 char 数组的四元素数组(因此您的数据将适合)。 char myName[6][4] 是四个 char 数组的六个数组(这不适合你的六个 char 数组)。

char[0] [0][1] [0][2]
char[1] [1][1] [1][2]

此外,您还可以将数组放入数组中。所以如果你想象一下,你可以有数组页面。只是 link 做类似的事情..

int a[0] = b[4];

这会将 b[4][...] 放入 a[0] 的单个单元格中。对游戏等有用。