我正在创建许多 2D int 和 float C 数组,并将它们的指针分配给 NSPointerArray。当我创建并用数据填充它们时一切都很好,但是当我在数组上添加指针时,我得到 EXEC_BAD_ACCESS。Q1-为什么这是错误的?Q2-提供对使用 calloc 创建的许多 2D 数组的访问的最佳方法是什么?
- (NSPointerArray *)treeData{
if (_treeData == nil) {
_treeData = [[NSPointerArray alloc] init];
int** VVD = createIntArray(3000,200);
[_treeData addPointer:VVD];
}
return _treeData; // addеd later to the post, exists in live code
}
以供参考
int** createIntArray(int n, int m)
{
int i=0;
int* values = calloc(m*n, sizeof(int));
int** rows = malloc(n*sizeof(int*));
for ( i=0; i<n; ++i)
{
rows[i] = values + i*m;
}
return rows;
}