Передача аргументом двумерного массива
Передача многомерных, и в частности двумерных, массивов аргументами функции осуществляется по следующему принципу: указываются все размеры массива, кроме первого. Такая явная индексация связана со способом интерпретации многомерных массивов в С++. Так, двумерный
массив - это массив массивов. Поэтому, как и в случае одномерного массива, первый индекс является необязательным, поскольку функции на самом деле передается ссылка на первый элемент массива (для многомерных массивов этот первый элемент сам является массивом). Все последующие индексы нужны для того, чтобы компилятор мог корректно выделить место под элементы массива. Пример передачи двумерного массива аргументом функции приведен в следующем коде.
Функции аргументом передается двумерный массив: инструкция int n[][3] в прототипе функции содержит явно указанный размер массива по второму индексу. Кроме двумерного массива, функции в качестве значения передается целочисленная переменная size, определяющая раз мер массива по первому индексу. Обращение к функции в главном методе осуществляется в формате show2(n,2), где n - предварительно инициализированный двумерный массив.
#includeusing namespace std; void show2(int n[][3],int size){ int i,j; for(i=0; i < size; i++){ for(j=0; j < 3; j++){ cout << n[i][j] << " ";} cout << "\n"; } } int main(){ int n[][3]={{1,2,3}, {4,5,6}}; show2(n,2); return 0; }