Cを使用して動的3D配列を作成しようとしています.アイデアは、このような3D配列を作成することです
A[0][128][128]
A[1][64][64]
A[2][32][32]
A[3][16][16]
A[4][8][8]
.....
A[n][1][1]
n,128,128 は入力です。
誰でもこれを行う方法を提案できますか?
Cを使用して動的3D配列を作成しようとしています.アイデアは、このような3D配列を作成することです
A[0][128][128]
A[1][64][64]
A[2][32][32]
A[3][16][16]
A[4][8][8]
.....
A[n][1][1]
n,128,128 は入力です。
誰でもこれを行う方法を提案できますか?
次の関数は、動的配列にメモリを割り当てます。elem_size
は各要素n
のサイズで、最初の次元のサイズを指し、他の 2 つの次元は のサイズ128
です。
void* create_3Darray(size_t elem_size, size_t n) {
return malloc(elem_size * n * 128 * 128);
}
使用法:
int ***arr = create_3Darray(sizeof(int), 256);
arr[2][5][12] = 12;
で置換malloc
しcalloc
て要素を に初期化でき0
ます。そうしないと、配列がランダムな値で埋められる可能性があります。
また、配列/次元の境界を読み書きしないように注意する必要があります。