Как передать массив вместо аргументов?

В C++ можно передавать массивы вместо аргументов, используя указатели или ссылки на массивы.

Существует несколько способов передачи массивов в функцию. Один из них - передача указателя на начало массива и размера массива в качестве отдельных аргументов функции. Например:

void printArray(int *arr, int size)
{
    for (int i = 0; i < size; i++)
    {
        cout << arr[i] << " ";
    }
}

Здесь функция printArray принимает указатель на начало массива arr и размер массива size. Функция итерируется по элементам массива и выводит их на экран.

Пример вызова функции:

int main()
{
    int arr[] = {1, 2, 3, 4, 5};
    int size = sizeof(arr) / sizeof(arr[0]);
    
    printArray(arr, size);
    
    return 0;
}

В этом примере массив arr передается в функцию printArray как указатель на его начало и размер массива. При вызове функции, массив arr выводится на экран.

Еще один способ передачи массива в функцию - использование ссылки на массив в качестве аргумента функции. Например:

void printArray(int (&arr)[5])
{
    for (int i = 0; i < 5; i++)
    {
        cout << arr[i] << " ";
    }
}

Здесь функция printArray принимает ссылку на массив arr размером 5 элементов. Функция итерируется по элементам массива и выводит их на экран.

Пример вызова функции:

int main()
{
    int arr[] = {1, 2, 3, 4, 5};
    
    printArray(arr);
    
    return 0;
}

В этом примере массив arr передается в функцию printArray как ссылка на массив размером 5 элементов. При вызове функции, массив arr выводится на экран.

Оба описанных выше способа позволяют передавать массивы в функцию, но использование ссылки на массив более безопасно, так как компилятор проверяет соответствие размера массива в вызове функции и внутри функции.