2 garaster garaster 于 2012.11.21 15:27 提问

C中int数组在类接口中的问题

我希望能在类接口中定义一个作为实体变量的cInt数组,这样我就能通过任意方法访问它。

@interface aVCofMine : UIViewController{
   int[] myArray;
}

还有

@interface aVCofMine : UIViewController{
   int myArray[];
}

但是完全没用,不知道是不是不能这样定义啊?要是能定义怎么定义?

谢谢。

2个回答

gaoXxxing
gaoXxxing   2012.11.21 16:08
已采纳

C数组需要动态分配和调整尺寸:

@interface AVCOfMine : NSViewController {
    int myArray[5];
}
@end

或者:

@interface AVCOfMine : NSViewController {
    int *myArray;
}
@end

@implementation AVCOfMine

- (void)viewDidLoad {
    myArray = malloc(sizeof(int) * 5);
}

- (void)dealloc {
    free(myArray);
    [super dealloc]; // 如果没有ARC才能用这行
}
@end

第一段代码是保持数组的规模统一,第二段代码是在运行期间选择规模。

lanhailvcao
lanhailvcao   2012.11.21 16:31

使用:

@interface aVCofMine : UIViewController{
   int *myArray;
}

然后在实现代码中,分配array内存:

myArray = malloc(sizeof(int) * numberOfElements);

释放:free(myArray);

Csdn user default icon
上传中...
上传图片
插入图片