Objective c 多分辨率阵列目标c 我在C++中已经制作了多个数组,但是我对如何在目标C中做这件事感到困惑,因为它是C的修改版本。如何在Objective C中创建多维数组 NSArray *twoDArray = @[@[@"0.0", @"0.1"], @[@"1.0", @"1.1", @"1.2"], @[@"2.0", @"2.1", @"2.2"] ];

Objective c 多分辨率阵列目标c 我在C++中已经制作了多个数组,但是我对如何在目标C中做这件事感到困惑,因为它是C的修改版本。如何在Objective C中创建多维数组 NSArray *twoDArray = @[@[@"0.0", @"0.1"], @[@"1.0", @"1.1", @"1.2"], @[@"2.0", @"2.1", @"2.2"] ];,objective-c,multidimensional-array,Objective C,Multidimensional Array,访问它的方式如下: // result = "0.1" NSString *result = twoDArray[0][1]; // result = "1.2" result = twoDArray[1][2]; // result = "2.0" result = twoDArray[2][0]; 虽然(根据注释)它们的功能完全不同,但实际上它们的使用与在C中没有太大区别。Objective-C也不是C的一个真正的修改版本。它是C的一切,再加上更多。所以它实际上并没有修改关于C的任何内

访问它的方式如下:

// result = "0.1"
NSString *result = twoDArray[0][1];

// result = "1.2"
result = twoDArray[1][2];

// result = "2.0"
result = twoDArray[2][0];
虽然(根据注释)它们的功能完全不同,但实际上它们的使用与在C中没有太大区别。Objective-C也不是C的一个真正的修改版本。它是C的一切,再加上更多。所以它实际上并没有修改关于C的任何内容


这种语法(用于创建和访问数组值)也相对较新,有关更多信息,您可以查看and,它们都概述了Objective-C文本的一些其他功能。

它看起来可能与C中的普通数组没有什么不同,但实际上有很大不同。值得指出的是,这是全新的语法。另外,我还是更喜欢像
float x[4][4]在大多数情况下。差别很大。一个是锯齿数组(数组的目标C数组),另一个是多维数组(C数组)。记忆是完全不同的。谢谢你们两位,我(相信我)已经通过回答更正了。如果您想修改任何内容,请随意:)@s.bandara指针数组很难管理,尤其是使用ARC。如果在C/C++的意义上需要一个“多维”数组,那么使用一个长序列数组就可以很容易地实现它,然后使用一些索引算法。@s.bandara语法大约有1.5年的历史,但我将在我的回答中添加一个注释。