私はobjective-cが初めてで、今のところうまくいくことをやっていますが、いつか壊れるのではないかと心配しています。
オブジェクトの 1 つで、整数の行列をインスタンス変数として宣言します。行列のサイズはまだわからないので、次のように宣言しました。
int **_matrix;
コードの後半で、マトリックスの行と列の量がわかったら、次のように初期化します。
_matrix = malloc(sizeof(*_matrix) * columns * lines);
for (i = 0; i < columns; i++) {
_matrix[i] = malloc(sizeof(int) * lines);
for(j = 0; j < lines; j++)
_matrix[i][j] = -1;
}
私の割り当てが正しいと仮定すると (実際に間違っているかどうか教えてください)、2 次元配列構文を使用して要素に自信を持ってアクセスできますか?
私が読んだことから、実際の2次元配列を作成すると、メモリは継続的に予約されますが、ダブルポインターを使用するとそうではない可能性があるためです。したがって、私は電話することを恐れています
_matrix[i][j]
実際にはメモリ内のランダムな場所を指します(私が割り当てた場所ではありません)。
回答ありがとうございます。