Ich verstehe, dass moderne C-Normen mir einen Speicherblock zu einem 2D-Array zuweisen können wie folgt:Zuordnung zusammenhängenden Speicher zu einem 2D-Array post-Erklärung
size_t rows, cols;
// assign rows and cols
int (*arr)[cols] = malloc(sizeof(double[cols][rows]));
Aber ist es eine Möglichkeit, einen Block von der Zuteilung Speicher zu einem 2d-Array nach einer Deklaration? Z.B. Ich habe eine externe Variable deklariert an anderer Stelle möchte ich Speicher zuweisen möchten:
size_t rows, cols;
extern int **arr;
//Malloc block to 2d array
Ich weiß, es ist möglich, beispielsweise einen einzigen Index anstelle von 2 verwenden [i] [j] -> [i * Zeilen + j] aber ich frage mich, ob ich die 2 Indizes behalten kann?
Dies ist Vergangenheit Beiträge auf demselben [Thema] (https://stackoverflow.com/questions/1970698/ using-malloc-for-allocation-von-multidimensionalen-Arrays-with-different-row-lengt –