據我所知,現代C標準讓我分配的內存塊到一個二維數組如下:分配連續的內存到一個二維數組聲明後
size_t rows, cols;
// assign rows and cols
int (*arr)[cols] = malloc(sizeof(double[cols][rows]));
但有分配的塊的方式內存聲明後的2d數組?例如。我有別處聲明的外部變量我想分配內存以:
size_t rows, cols;
extern int **arr;
//Malloc block to 2d array
我知道這是可能的,例如,代替2 [i] [j]使用單個索引 - > [I * rows + j] 但我想知道我是否可以保留2個指數?
這是在相同的[主題]過去帖(https://stackoverflow.com/questions/1970698/使用-malloc的換分配-的-多維陣列與 - 不同排-lengt) –