Wie ordne ich ein 2D-Array mit ansteckendem Speicher zu? Wie verwende ich es, um auf Zeilen und Spalten zuzugreifen? Gib mir ein Beispiel
Ich habe ein 2D-Array erstellt, das wie folgt lautet
int i,j,lx,ly;// lx,ly are the row and column respectively
double** a;
a=(double**) malloc((lx+2)*sizeof(double));
a[0]= (double*) malloc((lx+2)*(ly+2)* sizeof(double));
assert(a[0]);
for(i=1;i<lx+2;i++)
{
a[i]=a[i-1]+i*(ly+2);
}
// Ich ordne allen Elementen in diesem Array den Wert 0 zu (siehe unten)
for(i=0;i<(lx+2)*(ly+2);i++)
{
a[i]=0;
}
// Ich drucke alle meine Elemente unten aus
for(i=0;i<(lx+2)*(ly+2);i++)
{
printf("position %d values %d\n",i,a[i]);
}
// Wenn ich die Ausgabe sehe, zeigt sie mir einen Junk-Wert an einer bestimmten Position 13. Ich kann das nicht herausfinden. Bitte sagen Sie mir auch, wie ich auf Zeilen und Spalten wie zB zugreifen soll, um auf die 7. Spaltenreihe 0 und 5 zuzugreifen Zeile 6 Spalte in Bezug auf lx, ly wie in meinem Code gezeigt