Я новичок в программировании на C, так что терпите меня :) У меня есть функция main(), которая генерирует 2D-массив (также известный как матрица). Я попытался определить "внешнюю" функцию matrix_multipl(), которая берет две матрицы из main(), перемножает их и возвращает, что, конечно, вызвало проблемы (вы не можете вернуть массив из функции).
Итак, мой подход следующий, и я хочу знать, правильно ли я понимаю процесс:
Я генерирую массивы (first[m][n], second[o][p] и output[m][p] матрицы) внутри main и оттуда я использую только указатели на этот массив, поэтому, если я вызову указатель к этому массиву внутри matrix_multipl(), он, по сути, возвращается к основному, извлекает соответствующее значение из массива, что-то с ним делает (умножение матриц) и, наконец, берет вычисленное значение, снова запускается в main() и записывает результат в матрицу результатов [m][p], которая все время оставалась внутри main() и поэтому не нуждалась в «возвращении»?
Надеюсь, я правильно понял, потому что это звучит абсолютно логично и весьма полезно, потому что это предотвращает пихание больших массивов туда-сюда :)