Objective c 可变长度c数组
我正在使用objective c创建一个包含可变长度数组的结构。我知道您可以创建一个长度为n的数组,如下所示:Objective c 可变长度c数组,objective-c,arrays,variables,Objective C,Arrays,Variables,我正在使用objective c创建一个包含可变长度数组的结构。我知道您可以创建一个长度为n的数组,如下所示: double array[n]; 和我也相信C++可以声明: vector<double> array; 矢量阵列; 其中不必声明数组长度。在目标c中有没有类似的方法?我正在使用ARC 提前感谢Ben,您只需创建一个NSMutableArray,如- NSMutableArray *myArray = [NSMutableArray array]; [myArray
double array[n];
和我也相信C++可以声明:
vector<double> array;
矢量阵列;
其中不必声明数组长度。在目标c中有没有类似的方法?我正在使用ARC
提前感谢Ben,您只需创建一个NSMutableArray,如-
NSMutableArray *myArray = [NSMutableArray array];
[myArray addObject:....];// Add as many object as you want.
创建可变长度数组时只需注意一件事,不要将nil添加为对象,因为nil只是表示可变长度参数列表的结束
编辑-
可能下面的人会帮助你-
通过这种方式,您可以在struct中定义目标c数据类型-
typedef struct{
int numInputs;
__unsafe_unretained NSMutableArray *array;
} Pin;
谢谢,但是结构中不能有NSMutableArray,是吗?-编辑:im使用ARCtypedef结构{int numInputs;双矢量权重[99];}引脚;结构中不能有可变长度数组。可以使用自定义类而不是结构,也可以使用指向结构中堆分配数组的指针。即“双倍重量”然后,
struct Pin;pin.vecWeight=malloc(sizeof(双)*计数)代码>。