2012-05-09 117 views
2

我使用目标c来创建一个持有可变长度数组的结构。我知道你可以像这样创建长度为n的数组:可变长度c数组

double array[n]; 

而且我也相信,在C++中,你可以声明:

vector<double> array; 

,你不必声明数组长度。有没有办法在目标c中做类似的事情?我正在使用ARC。

由于提前,本

回答

3

你只需要喜欢 -

NSMutableArray *myArray = [NSMutableArray array]; 

[myArray addObject:....];// Add as many object as you want. 

你只需要在创建可变长度数组采取的一件事照顾创建一个NSMutableArray,不添加无作为对象,因为nil只是表示可变长度参数列表的结尾。

编辑 - 可能是下面将帮助您 - 通过这种方式,你可以在struct-

typedef struct{ 
    int numInputs; 
    __unsafe_unretained NSMutableArray *array; 
} Pin; 
+0

感谢定义目标C数据类型,但你不能有一个NSMutableArray的结构可以吗? - 编辑:即时通讯使用ARC – BenJacob

+0

你可以显示,你是如何创建结构? – rishi

+0

typedef struct { int numInputs; double vecWeight [99]; } Pin; – BenJacob