繁体   English   中英

数组初始化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]

而且,您可以将数组放入数组。 因此,如果您能想象得到,则可以拥有数组页面。 只是链接做类似..

int a[0] = b[4];

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM