【发布时间】:2013-06-18 08:42:55
【问题描述】:
我想使用 C 指针数组存储 NSObjects 的 2D 数组。我阅读了另一个 StackOverflow 问题,它说可以按如下方式执行此操作:
id myArray [10][10];
但是我想动态分配内存,因为我不知道表有多大。
我了解如何为标准 C 变量类型创建二维指针数组,但我不知道如何为 id 类型创建。如果我使用的是 int,我会这样做:
int ** myArray = (int**) calloc (10, sizeof(int*));
for(int i = 0; i<10; i++) {
myArray[i] = (int *) calloc(10, sizeof(int));
}
任何想法如何使用 id 数据类型执行此操作?
【问题讨论】:
-
另外,如果我执行 sizeof(id),它会询问我是否要使用看起来不正确的使用 __bridge。
-
对于您的
int示例,初始调用应该是int **,使用sizeof(int *)。你所拥有的没有多大意义。 -
谢谢,但我真正的问题是关于专门存储 id 数据类型。有什么想法吗?
-
有趣的答案并与我正在尝试做的事情有关:stackoverflow.com/questions/11155275/…
标签: objective-c arrays pointers dynamic