我的名字有六个字母,我的第二个名字有四个字母。
错误的代码将构建并打印:
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。是否存在某些故障,其中阵列是倒置的还是什么?我环顾四周,但找不到任何解释这一点。
答案 0 :(得分:1)
这是因为char myName[4][6]
是六个char
数组的四元素数组(因此您的数据适合)。其中char myName[6][4]
是六个char
数组的数组(不适合您的六个char
数组)。
答案 1 :(得分:0)
char[0] [0][1] [0][2]
char[1] [1][1] [1][2]
而且,您可以将数组放入数组中。所以如果你想象一下,你可以拥有数组页面。只需链接做类似的事情。
int a[0] = b[4];
这会将b [4] [...]放入[0]的单个单元格中。对游戏或诸如此类的东西很有用。