Skip to the content.

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


1) Сделать массив глобальным - объявить его до всех функций, в том числе функции main 2) Передать в качестве параметра (при этом элементы не копируются, а просто передается указатель на массив [а точнее на первый его елемент]):

   void foo(int b[], int n)
   {
      cout << b; // выведет что-то типо 0x7ffe21ca2bf0
      cout << b[2]; // выведет третий элемент массива
      сout << *b; // выведет первый элемент массива по адресу
   }
   
  int a[10] = {0, 1, 2, 3, 4, 5 , 6 , 7, 8 , 9};
  foo(a, 10);
 // обязательно указывать размерности массива (кроме старшей)
  void foo(int b[][3], int n)
  {
    cout << b[2][2];
  }

  int a[3][3] = {0, 1, 2,
                 3, 4, 5,
                 6, 7, 8};
  foo(a, 10);

3) Передать вектор:

void foo (vector <int> &b)
{
  cout << b.size();
  cout << b[0];
}