Если вам нравится SbUP Форум, вы можете поддержать его - BTC: bc1qppjcl3c2cyjazy6lepmrv3fh6ke9mxs7zpfky0 , TRC20 и ещё....

 

Передача двумерного массива в функцию

Автор AKALETRUK, 15-09-2014, 17:13:47

« назад - далее »

AKALETRUKTopic starter

Как я знаю, имя массива и указателя тождественны в С++. Из этого следует, что можно инициализировать указатель, а работать с ним, как с именем массива, добавив индекс (квадратный скобки) или смещение к имени массива и круглые скобки со звёздочкой... Но не в этом суть. Я пробовал ввести передачу в функцию двумерного массива (столбы и строки) - не вышло. Очевидно, что где-то вкралась ошибка.
Вот код:
Код 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;
        }
    }
}
Хотя бы дайте общие понятия по логике передачи адреса двух- и более мерного массива в функцию, а дальше, я сам попробую написать =)
  •  


fox-fox

А зачем

void arr_fun (int arr[[size2, int size1);
?
может

void arr_fun (int *arr);

но если защитить данные на входе, то:

void arr_fun (const int arr[[size2, int size1);
  •  



Если вам нравится SbUP Форум, вы можете поддержать его - BTC: bc1qppjcl3c2cyjazy6lepmrv3fh6ke9mxs7zpfky0 , TRC20 и ещё....