我的名字有六个字母,我的第二个名字有四个字母。
错误的代码将生成并打印:
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]
你也可以把一个数组放到另一个数组中。如果你想象一下,你可以有一页一页的数组。链接做点什么,比如…
int a[0] = b[4];
这将使b[4][…]]变成a[0]的单细胞。