Ich bin neu in Pointer/Speicheroperationen und arbeite an einigen Beispielprogrammen. Ich möchte ein 2D-Array in einem zusammenhängenden Speicherblock in C++ zuweisen. Ich weiß, ich muss einen Puffer mit der Größe des 2D-Arrays erstellen. Ich habe einen kleinen Block von Code, den ich geschrieben habe, der den Puffer erstellt und einem 2D-Array Werte zuweist, aber ich weiß nicht, wie man die Array-Werte in den Puffer legt. Kann mir jemand eine Idee geben, was ich tun soll? Ich habe es ziemlich gründlich recherchiert, kann aber nichts finden, was den Prozess so erklärt, wie ich es verstehe. Ich weiß, dass Vektoren wahrscheinlich eine bessere Option sind, aber ich möchte mich mit Array-Operationen vertraut machen, bevor ich darauf eingehe.Zuweisen eines Speicherblocks zu einem mehrdimensionalen Array in C++
Danke!
#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;
}
'Puffer [i * 3 + j] = dyn_array [i] [j]'? –