У меня есть двумерный массив, динамически размещенный в моем C-коде, в моей функции main.Мне нужно передать этот 2D-массив в функцию.Поскольку столбцы и строки массива являются переменными времени выполнения, я знаю, что один из способов его передачи:
-Передача строк и переменных столбца и указатель на этот [0] [0] элементмассив
myfunc(&arr[0][0],rows,cols)
, затем в вызываемой функции получить доступ к нему как к «сглаженному» 1D массиву, например:
ptr[i*cols+j]
Но я не хочу делать это таким образом, потому чтоэто означало бы значительные изменения в коде, поскольку ранее массив 2D, передаваемый этой функции, был статически распределен с размерами, известными во время компиляции.
Итак, как я могу передать массив 2D в функцию ивсе еще сможете использовать его как двумерный массив с двумя индексами, подобными приведенным ниже?
arr[i][j].
Любая помощь будет оценена.