私はポインタ/メモリ操作を初めて利用していて、いくつかのサンプルプログラムで作業しています。私は2D配列をC++の連続したメモリブロックに割り当てたいと思っています。私は、2D配列のサイズを持つバッファを作成する必要があることを知っています。私はバッファを作成し、値を2次元配列に割り当てる小さなコードブロックを持っていますが、配列値をバッファに配置する方法はわかりません。誰も私に何をすべきかのアイデアを与えることができますか?私はそれをかなり研究しましたが、私が理解するところでプロセスを説明するものは何も見つかりません。私はベクトルがおそらくより良い選択肢であることを知っていますが、私はそれに移る前に配列操作について理解しています。C++で多次元配列にメモリブロックを割り当てる
ありがとうございます!
#include <cstdlib>
#include <cstdio>
#include <iostream>
#include <ctime>
using namespace std;
int main()
{
int dyn_array[5][3];
int i;
int j;
srand(time(NULL));
//Need to create a pointer to a block of memory to place the 2D array into
int* buffer=new int[5*3]; //pointer to a new int array of designated size
//Now need to assign each array element and send each element of the array into the buffer
for(i=0;i<5;i++)
{
for(j=0;j<3;j++)
{
dyn_array[i][j]=rand()%40;
cout<<"dyn array ["<<i<<"]["<<j<<"] is: "<<dyn_array[i][j]<<endl;
}
}
return 0;
}
バッファ[i * 3 + j] = dyn_array [i] [j] '? –