Я хочу объявить 2D-массив в .h
файле без заданных номеров COLS или ROWS (потому что они читаются где-то из main()
)
Я имею в виду, я мог бы попробовать другой способ сделатьэто как ниже, если один из ROWS и COLS дан из первых уст.
int COLS = 20;
int (*array)[COLS];
array = malloc((*array) * ROWS);
таким образом, я попытался, как показано ниже:
ниже - 2 д.ч
int* a;
int** b;
int size;
ниже - test2d.c,inside int main () {}
read_size() //size value read from some file
a = malloc(sizeof(int) * size);
b = malloc(sizeof(*a) * size);
for(int i=0; i<size; i++){
for(int j=0; j<size; j++){
b[i][j] = i+j;
printf("ok");
}
}
//print all
должен печатать все 0112, но результат будет segmentation fault
.