私は多くの 2D int および float C 配列を作成しており、それらのポインターを NSPointerArray に割り当てようとしていました。それらを作成してデータを入力している間はすべて問題ありませんが、配列に addPointer を実行すると、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;
}