数组初始值设定项 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'}};
有没有理由:
- 第二个数组
[4]
正在应用于第一组字符?
- 第一个数组
[6]
正在应用于第二组字符?
我使用的是最新版本的 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] 的单个单元格中。对游戏等有用。
我的名字有六个字母,我的名字有四个。
错误的代码将构建并打印:
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'}};
有没有理由:
- 第二个数组
[4]
正在应用于第一组字符? - 第一个数组
[6]
正在应用于第二组字符?
我使用的是最新版本的 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] 的单个单元格中。对游戏等有用。