Показать сообщение отдельно
  #1  
Старый 15.09.2014, 18:13
Homer J.S.
 
Сообщения: n/a
По умолчанию Передача двумерного массива в функцию

Как я знаю, имя массива и указателя тождественны в С++. Из этого следует, что можно инициализировать указатель, а работать с ним, как с именем массива, добавив индекс (квадратный скобки) или смещение к имени массива и круглые скобки со звёздочкой... Но не в этом суть. Я пробовал ввести передачу в функцию двумерного массива (столбы и строки) - не вышло. Очевидно, что где-то вкралась ошибка.
Вот код:
Код cpp:
Код:
#include "stdafx.h"
#include <iostream>

using namespace std;

const int size1 = 3;
const int size2 = 4;
int arr[size1[size2 = {{1,2,3,4},{5,6,7,8},{9,10,11,12}};
* * 
void arr_fun (int arr[[size2, int size1);

void main ()
{
* * arr_fun (arr[[size2, size1);
* * system ("pause");
}
void arr_fun (int arr[[size2, size1)
{
* * for (int i=0; i<size1; i++)
* * {
* * * * for (int j=0; j<size2; j++)
* * * * {
* * cout<<"arr["<<i<<": "<<arr[i[j<<endl;
* * * * }
* * }
}
Хотя бы дайте общие понятия по логике передачи адреса двух- и более мерного массива в функцию, а дальше, я сам попробую написать =)
Ответить с цитированием