Я новичок в указателях/операциях памяти и работаю над некоторыми примерами программ. Я хочу назначить 2D-массив в непрерывный блок памяти на C++. Я знаю, что мне нужно создать буфер с размером 2D-массива. У меня есть небольшой блок кода, который я написал, который создает буфер и присваивает значения 2D-массиву, но я не знаю, как разместить значения массива в буфере. Может ли кто-нибудь дать мне представление о том, что делать? Я исследовал его совсем немного, но не могу найти ничего, что объясняет процесс в терминах, которые я понимаю. Я знаю, что векторы, вероятно, являются лучшим вариантом, но я хочу получить доступ к операциям с массивами, прежде чем переходить на это.Назначить блок памяти многомерному массиву в 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;
}
'buffer [i * 3 + j] = dyn_array [i] [j]'? –